2

我正在尝试通过 Javascript 正确禁用 jQuery Mobile 范围滑块。但它不起作用。如果我将disabled属性添加到<input>Html 文件中的元素,它就可以工作。但是,如果我尝试通过禁用它

$('#range-monday-a').attr("disabled", "disabled");
$('#range-monday-b').attr("disabled", "disabled");

disabled="disabled"为 DOM 中的输入元素添加了属性,但显示没有改变,我仍然可以使用滑块。(“#range-monday-a”和“#range-monday-b”是rangeslider的两个输入元素的id)

我认为这是因为 jQuery Mobile 为 rangeslider 渲染了额外的 div 和内容。但我无法在 jquerymobile.com 上找到答案,也无法在此处或通过 google 找到答案。

4

2 回答 2

2

你有没有尝试过:

$('#range-monday-a').slider('disable');
$('#range-monday-b').slider('disable');

来自文档:http: //jquerymobile.com/demos/1.3.0-rc.1/docs/forms/slider/methods.html

于 2013-08-15T11:03:09.130 回答
2

您也可以使用单个选择器来执行此操作:

$("#range-monday-a, #range-monday-b").slider("disable");

甚至更好:

$("#ancestor input[data-type='range']").slider("disable");

但是,请注意两侧的数字字段在任何情况下都将保持完全不透明 -我提交了错误

于 2013-09-30T16:50:13.487 回答