【问题标题】:how to write .onclick method in jquery for all checkbox如何在jquery中为所有复选框编写.onclick方法
【发布时间】:2017-02-24 07:55:10
【问题描述】:

我的项目中有动态来自数据库的复选框。这里我只放了一个,但可能很多取决于数据库表条目 " name="category" class="category">

当用户单击任何复选框时,我想使用 jQuery 触发 onclick 事件。我尝试但只有当我点击第一个复选框时才会触发。 这是我尝试的代码..

$("[type=checkbox]").click(function () {

                var category_array = new Array();
                var size_array = new Array();
                var color_array = new Array();
                $.each($("input[name='category']:checked"), function() {
                  category_array.push($(this).val());

                });
});

谁能知道为什么它不工作 ??在此先感谢:)

【问题讨论】:

  • 您需要确保输入名称类别也是一个数组。更改为类别[]

标签: javascript php jquery checkbox


【解决方案1】:

最好使用change事件

$("input[type=checkbox]").change(function() {
  if(this.checked) {
    var category_array = new Array();
    var size_array = new Array();
    var color_array = new Array();
    $.each($("input[name='category']:checked"), function() {
        category_array.push($(this).val());
    });
  }
});

【讨论】:

    【解决方案2】:

    所有复选框的选择器是:

    $('input[type=checkbox]')
    

    现在随心所欲!

    对于动态复选框...

    $(document).on('change', 'input[type=checkbox]', function(e) {
        //DO YOUR THANG
    });
    

    【讨论】:

      【解决方案3】:

      这将解决您的问题,首先将您的 html 更改为:

      <div class="checkbox">
      <label class="lbl-cat"><input type="checkbox" value="<?php echo $row["id"]; ?>" name="category[]" class="category"> <?php echo $row["name"]; ?></label>
      
                                      </div>
      

      注意它是name="category[]" 而不是name="category"

      最后把你的js换成同样的

      $.each($("input[name='category[]']:checked"), function() {
                        category_array.push($(this).val());
      
                      });
      

      【讨论】:

        猜你喜欢
        • 2019-03-05
        • 2023-03-15
        • 2023-04-07
        • 2013-11-14
        • 2021-01-18
        • 1970-01-01
        • 2020-03-29
        相关资源
        最近更新 更多