【问题标题】:Jquery method to capture checkbox click inside nested divJquery方法捕获嵌套div内的复选框单击
【发布时间】:2017-04-29 22:57:42
【问题描述】:
<div class="panel-body" id="sell_in">
    @foreach (var state in Model.States)
    {
        <div class="checkbox">
            <label>
                <input type="checkbox" name="SelectedStates" id="buy_@state.Value" value="@state.Value" /> @state.Text
            </label>
         </div>
     }
</div>

我需要在选中 50 个复选框中的任何一个时进行捕捉。这不是这样做的,我希望这是因为复选框嵌套在 sell_in 下的另一个 &lt;div&gt; 中。

$(document).on("click", "div.sell_in", function (event) {
    alert("hello");
});

(我从这里得到了这个解决方案:checkbox inside div. On click checked or unchecked using jquery 1.9.1

【问题讨论】:

    标签: javascript c# jquery html checkbox


    【解决方案1】:

    尝试使用input:checkbox 选择复选框:

    $(document).on("click", "input:checkbox", function (event) {
        alert("hello");
    });
    

    或者使用 div 指定内部的那些:

    $(document).on("click", "div#div_id_here input:checkbox", function (event) {
        alert("hello");
    });
    

    希望这会有所帮助。

    【讨论】:

    • 好的,但我应该说...将有两组复选框,每组包含所有 50 个状态。一个是sell_in,另一个是buy_in。
    • 当然"div#div_id_here input:checkbox"检查我的更新。
    • @iHasCodeForU id 已经是唯一的。它是循环外 div 的 id。感谢您的干预
    • No @iHasCodeForU 不需要多个事件监听器,只需重新阅读 OP 和答案..
    • @iHasCodeForU 使用类进行样式设置,如果确实需要 id 和数据属性来描述可以在脚本中用作选择器的元素。例如,您可以使用data-id="" 来识别代表具有相同可识别属性的相同组件的元素。如果您的 CSS 更改和类被删除/添加以更改 UI,那么您想要的最后一件事就是您的功能代码因此而中断。以我的拙见,最好将这些区域分开。
    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多