所以我有了这个概念(我很容易理解它是一个糟糕的概念)来遍历动态数量的checkboxes
并取出每个checkbox
的名称。选中并将其推送到表单上的隐藏文本字段,以便已选择的checkboxes
名称的值可以在我的应用程序的其他位置使用。但是,对于JQuery来说有点新,我不确定是否可以这样做或者如何完成。这是我迄今为止的研究成果:
相关的JQuery:
$('#saveButton').click(function () {
$('checkbox').each(function () {
if ($(this).is(':checked')) {
$('#hiddenDate').append($(this).text());
}
});
});
相关观看代码:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm("SaveExit", "User", new { }, FormMethod.Post, new { id = "selectExitPoints" })) { %>
<fieldset>
<div class="title center xl">Event Exit Selection </div>
<table class="data-table">
<%var odd = true; %>
<%foreach (var log in Model.Log.OrderBy(s => s.DateEntered))
{ %>
<tr class="row_<%=(odd ? "odd" : "even")%>">
<td><input class="skill-checkbox" name="<%=log.DateEntered%>" type="checkbox" /></td>
<td><span class="skill-text"><%= log.DateEntered%></span></td>
<td><span class="skill-text"><%= log.EntryAccessPoint %></span></td>
</tr>
<%odd = !odd;%>
<% } %>
</table>
<input type="hidden" id="hiddenDate" />
</fieldset>
<% } %>
有人能指出我正确的方向吗?
答案 0 :(得分:2)
您可以使用jQuery .map()。就像那样:
var values = $.map($(':checkbox:checked'), function(el){
return $(el).prop('name');
})
$('input').val(values.join(','));