【问题标题】:How can I get which any checkbox from CheckBoxList is selected via jQuery?如何获取通过 jQuery 选择 CheckBoxList 中的哪个复选框?
【发布时间】:2012-01-30 09:08:12
【问题描述】:

如何通过 jQuery 选择 CheckBoxList 中的任何复选框?

标记:

    <div>
        <asp:CheckBoxList ID="cblProduct" runat="server" CssClass="myProductCheckBoxList" TabIndex="14">
        </asp:CheckBoxList>
    </div>

我想找到任何具有 Cssclass-myProductCheckBoxList 的选中复选框。 (用于验证 - 已检查 -> 至少一种产品)

【问题讨论】:

    标签: jquery asp.net .net jquery-selectors


    【解决方案1】:

    jQuery('.myProductCheckBoxList:checked').each(function(){

    alert(jQuery(this).attr('checked'));

    });

    我不太了解asp,但我想checked 过滤器将帮助您找到所有已选中的复选框。

    实际上,选择器给出了一个包含所有选定元素的数组。您可以像在代码中一样对其进行迭代以读取属性。

    【讨论】:

    • 是的,这给出了一些对象。我如何确保选择了某些东西或没有选择任何东西。
    • 现在你可以迭代这个对象来获取所有被选中的元素修改代码进行迭代。
    【解决方案2】:

    如果你想检查至少1个复选框被选中,那么你可以尝试以下,

    $(':checkbox.myProductCheckBoxList').is (':checked'); //returns true if at least 1 option is selected
    

    您可以在此处使用jsFiddle Link 尝试更多

    【讨论】:

    • 这总是假的
    • 您是否尝试选中 1 个复选框并进行验证?我刚刚测试了它,它工作正常。
    【解决方案3】:
    jQuery('.myProductCheckBoxList').each(function() {
      if (jQuery(this).is(":checked")) {
        alert(jQuery(this).attr("value"));
      }
    });
    

    翻译:对于每个“myProductCheckBoxList”类的复选框,检查当前项是否“选中”,如果是,则提醒当前复选框项。

    var checked_product = false;
    jQuery('.myProductCheckBoxList').each(function() {
      if (jQuery(this).is(":checked")) {
        checked_product = true;
      }
    });
    if (checked_product) {
      alert("one product is checked");
    }
    

    这会检查一个或多个项目是否被选中。

    【讨论】:

      【解决方案4】:
      function SetProductCheckAll() {
      
          $('.myProductCheckBoxList :checkbox').click(function () {
              var toggle = this.checked;
              var value = this.value;
              var needCheckAll = true;
              if (value == "-1") {
                  $('.myProductCheckBoxList :checkbox').attr("checked", toggle);
              }
              else {
                  if (toggle == false) {
                      $('.myProductCheckBoxList :checkbox').eq(0).attr("checked", false);
                  }
                  else {
                      for (var count = 1; count <= $('.myProductCheckBoxList :checkbox').length; count = count + 1) {
                          if ($('.myProductCheckBoxList :checkbox').eq(count).attr("checked") == false) {
                              needCheckAll = false;
                          }
                      }
                      $('.myProductCheckBoxList :checkbox').eq(0).attr("checked", needCheckAll);
                  }
              }
          });
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-03
        • 1970-01-01
        • 1970-01-01
        • 2013-12-07
        • 2013-02-20
        • 1970-01-01
        相关资源
        最近更新 更多