【问题标题】:Get the id of the checked input checkboxes and add to a list获取选中的输入复选框的 id 并添加到列表中
【发布时间】:2015-11-10 00:29:49
【问题描述】:

我首先要说的是,我对 java 脚本几乎一无所知,我觉得这需要它。我想做的是找出选中了哪些复选框,将它们添加到列表中并将其传递给页面背后的代码。

这就是我根据得到的结果创建复选框的方式。

<table width="100%" border="1">
     <%foreach (var qv in rs)
     {
         var checkid = "chk" + qv.id;
         var tdid = "td" + qv.id;
         var text = qv.text.ToString();                                          
      %>
      <tr >
           <td width="100%">
           <input type="checkbox" id="<%=qv.id%>" value="@qv.id" />
           </td>
           <td width="100%">
           <%=qv.text%>
           </td>
      </tr>
      <%                                      
      } %>
</table> 

谁能帮帮我?

所以我找到了我正在寻找的东西,但是当我使用代码时,没有任何效果,即使我复制粘贴它也不起作用,我错过了什么愚蠢的东西吗?

这里是工作演示的链接:http://jsfiddle.net/dvCmR/ 这是我的代码,完全一样,但不起作用。

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="assets/scripts.js"></script>
<script type="text/javascript">
    $("#clickme").click(function (e) {
        var selected = $("#checkboxes input:checked").map(function (i, el) { return el.name; }).get();
        alert("selected = [" + selected + "]\nas string = \"" + selected.join(";") + "\"");
    });
</script>
<div id="checkboxes">
    <input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
    <input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
    <input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
    <input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
</div>
<input type="button" id="clickme" value="click me, now!" />

【问题讨论】:

  • 您可以在复选框被选中并使用 JQueryUI 按类选择它们为 $(".selected")
  • function getCheckedCheckBoxes(){ var ids = []; $('input[type=checkbox]:checked').each(function(){ ids.push($(this).attr('id')); }); $('#hdf_selectedIds').val(JSON.stringify(ids)); }
  • 或者你可以设置$('#hdf_selectedIds').val(ids.join(','))最后在服务器端List&lt;string&gt; selectedIds = hdf_selectedIds.Value.Split(',');
  • @gjijo 感谢您提供详细信息,但就像我说的,我不太了解 javascript,所以我不知道如何准确地实施您的解决方案,我已经更新了问题,因为我找到了解决方案,但我没有确定我错过了什么,你能看看吗?

标签: javascript c# asp.net checkbox updatepanel


【解决方案1】:

$checkedBoxeIds;
$('table').each(function (i, row) {
var $row = $(row),
$checkedBoxe = $row.find('input:checked')[0];
$checkedBoxeIds += $checkedBoxeIds +";"
});
$.ajax({
type: "POST", url: myUrl,data: { checkedIs : $checkedBoxeIds},
success: function(data) {
alert('it worked');
}});

【讨论】:

  • 感谢您的帮助,我找到了一个解决方案,正是我想要实现的目标。我编辑了这个问题,如果它不打扰你,请你再看一遍
  • 如果您想获取选中的复选框值,请观看此jsfiddle.net/dvCmR/673
  • 然后您可以将您选择的值传递给服务器宽度 ajax 调用
  • 非常感谢您的帮助!现在一切都顺利进行了alil tinkering!
【解决方案2】:
$('input[type=checkbox]:checked')

如果你需要更硬的选择器,你可以使用类似这样的东西

$('td input[type=checkbox]:checked')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 2016-01-29
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多