javascript - 如何仅迭代第一个 div JavaScript

标签 javascript jquery html loops

我有以下 HTML,

<div class="col-lg-7 col-md-6 col-sm-6 text-left">
    <a href="javascript:;" class="multiSelect active" id="lbAssistingStaff" title="Evelyn Lupardus, Jamison Hennigan, Kajal Jain, Milud De Silvaa"><span style="width: 252px;">Evelyn Lupardus, Jamison Hennigan, Kajal Jain, Milud De Silvaa</span></a>
    <div class="multiSelectOptions" style="position: absolute; z-index: 99999; visibility: visible; height: 150px; width: 259px; top: 30px; left: 15px;">
        <label class="selectAll">
            <input type="checkbox" class="selectAll">Select All</label>
        <label class="">
            <input type="checkbox" name="lbAssistingStaff[]" value="10307">Dovie Segerson</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="14172">Kajal Jain</label>
        <label>
            <input type="checkbox" name="lbAssistingStaff[]" value="10354">Lydia Nikocevic</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="10355">Margo Mondloch</label>
    </div>
    <div class="multiSelectOptions" style="position: absolute; z-index: 99999; visibility: visible; height: 150px; width: 259px;">
        <label class="selectAll">
            <input type="checkbox" class="selectAll">Select All</label>
        <label>
            <input type="checkbox" name="lbAssistingStaff[]" value="10307">Dovie Segerson</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="14172">Kajal Jain</label>
    </div>
    <div class="multiSelectOptions" style="position: absolute; z-index: 99999; visibility: visible; width: 259px;">
        <label class="selectAll">
            <input type="checkbox" class="selectAll">Select All</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="14172">Kajal Jain</label>
        <label>
            <input type="checkbox" name="lbAssistingStaff[]" value="10062">Nevada Morison</label>
    </div>
    <div class="multiSelectOptions" style="position: absolute; z-index: 99999; visibility: visible; height: 150px; width: 412px;">
        <label class="selectAll">
            <input type="checkbox" class="selectAll">Select All</label>
        <label>
            <input type="checkbox" name="lbAssistingStaff[]" value="10259">Abel Schear</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="10405">Adam Sandling</label>
        <label>
            <input type="checkbox" name="lbAssistingStaff[]" value="10400">Alta Barba</label>
        <label class="checked">
            <input type="checkbox" name="lbAssistingStaff[]" value="16224">amali silva</label>
    </div>
    <input type="hidden" name="ctl00$ContentPlaceHolder1$ctlViewFilters$hndAssistingStaff" id="hndAssistingStaff" value="10276,10352,14172,14177,10276,10352,14172,10276,10352,14172,14172,14172,14172,14172,10276,10352,14172,10276,10352,14172">
</div>

通过 JQuery 多选生成。有多个具有相同类名的单独 div,名为 class="multiSelectOptions"。现在我需要将所有选中的选项值推送到仅在第一个 Div(顶部 Div)内的数组。这意味着,

<div class="multiSelectOptions" style="position: absolute; z-index: 99999; visibility: visible; height: 150px; width: 259px; top: 30px; left: 15px;">
    <label class="selectAll">
        <input type="checkbox" class="selectAll">Select All</label>
    <label class="">
        <input type="checkbox" name="lbAssistingStaff[]" value="10307">Dovie Segerson</label>
    <label class="checked">
        <input type="checkbox" name="lbAssistingStaff[]" value="14172">Kajal Jain</label>
    <label>
        <input type="checkbox" name="lbAssistingStaff[]" value="10354">Lydia Nikocevic</label>
    <label class="checked">
        <input type="checkbox" name="lbAssistingStaff[]" value="10355">Margo Mondloch</label>
</div>

我试过了,

$("#lbAssistingStaff").next("div").click(function (e) {
    var listboxID = "lbAssistingStaff";
    var selectedItemIDs = [];
    $('input[name="' + listboxID + '\[\]"]:checked').each(function () {
        selectedItemIDs.push($(this).val());
    });
});

但是这会迭代所有div的name="lbAssistingStaff[]",根据我的要求数组应该有这两个值(14172,10355<仅/strong>)。

最佳答案

提供上下文。

$('input[name="' + listboxID + '\[\]"]:checked', this)

这会将选择器应用于 this(您单击的 div)。

关于javascript - 如何仅迭代第一个 div JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56838265/

相关文章:

javascript - 捕捉/监听函数的执行

javascript - 删除对象的一个​​属性

javascript - 如何在 Web 容器中自定义滚动条的位置

html - 模态中的 Twitter Bootstrap 3 响应表不会在移动设备上向下滚动

javascript - 由于显示 :flex;,SmartMenus 在 Chrome 上无法正常工作

javascript - 使用箭头键在 Canvas 中移动形状

javascript - 将 html 文件读取到 javascript 变量(Windows)

javascript - CommonJS、AMD 和 RequireJS 之间的关系?

jquery - 是否可以在 jqgrid Treegrid 上设置交替行背景色

javascript - 使用 Javascript/jQuery 将焦点设置到嵌入式 Flash 电影/HTML 嵌入元素