我的要求
使用jQuery,我需要在隐藏的输入处获取值(signalID
),并将其对应的复选框选中为true。
我的视图是
<ul class="nav navbar-nav navbar-left checkboxtext signalCheckBox">
@for (int i = 0; i < @Model.SelectSignalList.Count(); i++)
{
<li style="vertical-align:central; padding:-5px;">
@Html.CheckBoxFor(m => m.SelectSignalList[i].IsSelected, new { @class = "checkboxsel"})
@Html.HiddenFor(m => m.SelectSignalList[i].SignalName)
@Html.HiddenFor(m => m.SelectSignalList[i].SignalID, new { @class = "checkboxID" })
@Html.DisplayFor(m => m.SelectSignalList[i].SignalName, new { @class = "checkboxtext" })
</li>
}
</ul>
在这里,如果对应的复选框(类别= checkboxsel)都为true,则需要将所有SignalID(类别= CheckboxID)放入数组。
因此,如果显示的复选框为
S1(选中)S2(未选中)S3(选中)S4(选中)S5(未选中)
然后仅将与复选框S1, S3 and S4
对应的ID推送到数组。
我尝试过的事情
下面的查询中,我不知道如何在我的代码中的???
处获取索引以获得正确的ID(selected_value.push($(".checkboxID")[???].defaultValue);
)
$(".checkboxsel:checked").each(function () {
var item = $(this);
selected_value.push($(".checkboxID")[???].defaultValue);
});
sig = selected_value.toString();
如果我放置i
,它会将后续的ID(0,1,2 ...)推送到signalID的隐藏输入中,而不是在检查为true的复选框的索引处获取确切的索引。>
答案 0 :(得分:0)
使用.parent()
引用父元素,然后使用.find()
/ .children()
获取对hidden
输入的引用。
然后,可以使用.prop()
方法来获取元素属性。
使用
selected_value.push($(this).parent().find(".checkboxID").prop("defaultValue"));
或,使用.nextAll()
获取具有特定类别的所有后续兄弟。
selected_value.push($(this).nextAll(".checkboxID").prop("defaultValue"));