【问题标题】:Getting the checkbox value via jquery通过 jquery 获取复选框值
【发布时间】:2016-06-03 13:09:34
【问题描述】:
<?php foreach($active_brand as $brand) { ?>
    <input class="my-checkbox"  value="<?=$brand['id']?>" type="checkbox" <?php if($brand['active']==1) { echo "checked data-toggle='toggle'";} else {echo "data-toggle='toggle' class='off'"; }  ?>>
    <input class="brandActive" id="brandActive" type="hidden" value="<?=$brand['active']?>">
    <?php } ?>

我正在尝试在 jquery 中访问更改功能上的复选框值:

 <script>
        $(document).ready(function() {
            $('.my-checkbox').change(function() {
          /*      var brandStatus = 0;
                if($('.brandActive').val()==0)
                {
                    brandStatus=1;
                }
                else{
                    brandStatus=0;
                }*/
                alert($(this).val()); // this value is ok 
                alert($('.brandActive').val()); // this values => not ok
            });
        });
    </script>

打印出来的值:

 $('.brandActive').val()

总是0...所以我想知道是否可以在复选框本身内以某种方式达到复选框的值...必须有一种方法可以做到这一点,有人可以帮我吗??

谢谢! :)

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:
    $('.my-checkbox').click(function() {
      if(this.checked){
       // do sth
      } else {}
    });
    

    【讨论】:

    • 好的,这实际上工作正常! :) 我刚刚设置了新变量并将其值设置为 1 如果复选框被选中,如果没有,我只是将值设置为 0 并将其传递给操作...谢谢!!!
    • @Grisza 这样做会更有效:if(this.checked) { 因为this 是本机复选框元素,而不是通过 jquery api
    【解决方案2】:

    您永远不会更新input type hidden 的值。

    change 事件处理程序的开头添加:

    $(this).next().val($(this).val());
    

    【讨论】:

    • 永远不会工作,因为有多个元素可以看到 php 循环。
    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 2012-10-05
    相关资源
    最近更新 更多