我想在更改时提醒开关的值,但警报框中会出现一些长代码链
HTML
<div align="right">
<select name="switch" id="alleventsswitch" data-role="slider" data-mini="true">
<option value="off">No Past</option>
<option value="on">Past</option>
</select>
</div>
JAVASCRIPT
$('#alleventsswitch').change( function() {
alert($('select').slider().val);
});
显然.val不起作用
答案 0 :(得分:1)
这应该有效:
$('#alleventsswitch').change( function() {
alert($('select').val());
});
工作jsFiddle:
如果您想使用select
专门选择data-role="slider"
元素,可以使用此功能:
$('#alleventsswitch').change( function() {
alert($('select[data-role="slider"]').val());
});
工作jsFiddle:
希望这有帮助。
答案 1 :(得分:1)
所有你需要的是:
$('#alleventsswitch').change(function () {
console.log(this.value);
});
<强> Demo 强>
处理程序this
内部代表选择元素本身,您可以将其值作为this.value
访问。通过执行$('select').slider()
,您不必要地调用滑块的构造函数插件,这是不需要的。还使用console.log而不是alert,尤其是测试易受鼠标移动影响的滑块。同样通过执行$('select').val()
,您最终可能会获得在此元素之前可能存在于DOM中的另一个选择的值,您希望在处理程序中使用this
中的当前元素作为目标。