获得切换开关的值不起作用

时间:2013-07-09 01:51:35

标签: javascript jquery html jquery-mobile

我想在更改时提醒开关的值,但警报框中会出现一些长代码链

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不起作用

2 个答案:

答案 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中的当前元素作为目标。