我正在使用Jeditable进行就地编辑。我正在使用的控件之一是select
类型。当用户单击该字段时,将生成以下select
控件:
<div id="status" class="editable_select">
<form>
<select name="value">
<option value="Active">Active</option>
<option value="Inactive">Inactive</option>
</select>
<button type="submit">Save</button>
<button type="cancel">Cancel</button>
</form>
</div>
我想弄清楚的是如何使用jQuery来检测何时更改select
控件,特别是因为它没有ID属性。
这是我到目前为止所做的事情,但事件没有被触发:
$(document).ready(function () {
$('#status select').change(function () {
alert("Change Event Triggered On:" + $(this).attr("value"));
});
});
更新
更新到jQuery 1.4.2解决了我的问题以及使用Matt的解决方案。
答案 0 :(得分:7)
您可能会找到它,因为选择字段在加载后(以及发生事件绑定后)已添加到页面中。
如果是这种情况,您仍然可以使用live
捕获更改事件$(document).ready(function () {
$('#status select').live('change', function () {
alert("Change Event Triggered On:" + $(this).attr("value"));
});
});
请注意,从1.7开始,on()
方法是绑定事件处理程序的首选方法。相当于上述内容;
$(document).ready(function () {
$(document).on('change', '#status select', function () {
alert("Change Event Triggered On:" + $(this).attr("value"));
});
});