我是 jQuery-ui 的新手,在初始化 jquery-ui-slider 时遇到问题。 我正在尝试创建一个具有最小值和最大值的 slider 。
slider 应该只有一个句柄,应该初始化为某个值,但不知何故总是设置为最大值。但是,我有一个 span 元素,我在其中写入了 slider 的实际值,并且此 span 中的值已正确初始化。
我按如下方式启动 slider :
jQuery("#slider-range-min").slider({
range: "min",
min: 3,
slide: function( event, ui ) {
jQuery("#length").text(ui.value);
}
});
嵌入 slider 的对话框是这样启动的:
jQuery(".config_length").live('dblclick',function() {
jQuery("#length-form").find("input[name=referer]").val(this.id);
var max = jQuery(this).find("input[name$='_param']").val();
var value = jQuery(this).find("input[name$='_value']").val();
jQuery("#slider-range-min").slider("option","max", max);
jQuery("#slider-range-min").slider("option","value", value);
jQuery("#length").text(value);
jQuery("#length-form").dialog("open");
});
“#slider-range-min”是 slider 的 ID,“#length-form”是对话框的 ID,“#length”是跨度的 ID。 变量“max”和“value”都具有正确的值(由 Firebug 控制)。
例如,如果“max”设置为 250,“value”设置为 100,则跨度中的值将为 100, slider 上的 handle 将位于最右侧的位置(应该为 250?),但是只要我点击句柄,跨度中的值就会变为 249。
编辑
只有当“max”值大于 100(这是 max 的默认值)时才会出现问题。此外,我设置“最大值”和“值”的顺序似乎也会影响行为。
我做错了什么?
最佳答案
我找到了一种让它工作的方法,但我认为没有必要这样做:
jQuery("config_length").live('dblclick',function() {
jQuery("#length-form").find("input[name=referer]").val(this.id);
var max = jQuery(this).find("input[name$='_param']").val();
var value = jQuery(this).find("input[name$='_value']").val();
if (max > 100) {
jQuery("#slider-range-min").slider("option", "value", value).slider("option","max", max);
} else {
jQuery("#slider-range-min").slider("option","max", max).slider("option", "value", value);
}
jQuery("#length").text(value);
jQuery("#length-form").dialog("open");
});
尽管它现在可以工作,但我想知道是否没有“正确”的方法。
关于javascript - jQuery ui slider 最大值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406919/