代码之家  ›  专栏  ›  技术社区  ›  Bryan Roth

jquery+jeditable-更改select时检测

  •  5
  • Bryan Roth  · 技术社区  · 15 年前

    我在用 Jeditable 用于就地编辑。我正在使用的控件之一有 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来检测 选择 控件已更改,特别是因为它没有id属性。

    这是我目前掌握的情况,但事件并未触发:

    $(document).ready(function () {
        $('#status select').change(function () {
            alert("Change Event Triggered On:" + $(this).attr("value"));
        });
    });
    

    更新

    更新到jquery 1.4.2解决了我的问题,同时使用了matt的解决方案。

    1 回复  |  直到 12 年前
        1
  •  7
  •   Matt user129975    12 年前

    您可能会找到它,因为select字段是在加载后(以及事件绑定发生后)添加到页面中的。

    如果是这种情况,您仍然可以使用 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"));
        });
    });