jQuery + Jeditable - 检测select更改的时间

时间:2010-03-29 21:03:51

标签: jquery jquery-selectors jeditable

我正在使用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的解决方案。

1 个答案:

答案 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"));
    });
});