[英]How to iterate through table tr and get the value for first td? JavaScript
[英]How to iterate through only the first div JavaScript
我有以下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(top Div)内部的Array中。这意味着,
<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
)。
提供上下文。
$('input[name="' + listboxID + '\[\]"]:checked', this)
这将会对应用选择this
是你点击的股利。
使用$(this)
find
:
$("#lbAssistingStaff").next("div").click(function (e) {
var listboxID = "lbAssistingStaff";
var selectedItemIDs = [];
$(this).find('input[name="' + listboxID + '\[\]"]:checked').each(function () {
// ^^^^^^^^^
selectedItemIDs.push($(this).val());
});
});
旁注:jQuery提供了一个map
函数,您可以使用它来代替创建数组然后推送到它:
var selectedItemIDs = $(this).find('input[name="' + listboxID + '\[\]"]:checked').map(function () {
return this.value; // No need to wrap it just to get the value
}).get();
不要忘记最后的.get()
,否则您将获得一个jQuery对象而不是一个真正的数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.