0

我正在尝试做一件非常简单的事情:使用 jQuery Mobile 1.1.1 框架,当切换翻转处于“手动”状态时,我想禁用一个字段。

这是HTML:

<div data-role="fieldcontain">
    <fieldset data-role="controlgroup">
        <label for="toggleswitch">                         
        </label>
        <select name="toggleswitch" id="toggleswitch" data-theme="b" data-role="slider">  
            <option value="off">gps</option>
            <option value="on">manual</option>
        </select>
    </fieldset>
</div>

这是我的 JavaScript:

$('#toggleswitch').change(function(){
    console.log("toggle");
});

目前,我什至看不到控制台中的“切换”字样。我认为 change 方法甚至不会触发,但这是我在在线示例中找到的。

编辑 -我在这里复制了一个错误的例子:我实际测试的代码具有相同的“toggleswitch”id。代码现在按照我在记事本++ 上的方式进行编辑。

4

2 回答 2

1

您是否将代码放在 dom 就绪回调中?

$(function() {
   $('#toggleswitch').change(function(){ console.log("toggle"); });  
});

PS:如果使用 id 选择器,则无需指定元素类型。

编辑:

另请注意,您toggleswitch3在 html 中作为 id 使用,而toggleswitch在 javascript 中使用。

于 2012-09-26T10:05:21.153 回答
1

id在 select 元素上是toggleswitch3,但在您使用的 JavaScript 代码中toggleswitch。名称需要在 HTML 和 JavaScript 中匹配,否则无法正常工作。

于 2012-09-26T10:06:55.543 回答