【问题标题】:how to uncheck a checkbox with jquery如何使用jquery取消选中复选框
【发布时间】:2019-10-23 14:11:09
【问题描述】:

我在取消选中复选框时遇到问题。

我的 html (php) 中有这段代码

<div class="row">
    <div class="col-md-12 pr-1">
        <label>Modele</label>
        <div class="form-group">
            <div class="btn-group paymentBtnGroup btn-group-justified" data-toggle="buttons">
                    <?
                    if($result->num_rows > 0) {
                        $i = 1;
                        while ($row = $result->fetch_assoc()) {
                            echo "<label class='btn paymentMethod'>";
                            echo "<div class='method col-sm' style='background-image: url(" . "assets/img/produits/".$row["IMAGEPATH"].")'>";
                            echo "</div>";
                            echo "<input type='radio' aria-labelledby='".$row["NOM"]."' value='".$row["K_MODELE"]."' name='modele' id='modele$i'>";
                            echo "</label>";
                            $i++;
                        }
                    }
                    ?>
            </div>
        </div>
    </div>
</div>

一旦表单添加到我的数组中,我尝试使用一个函数取消选中它。

所以在我的 Jquery 中我尝试使用这一行

    $('.paymentBtnGroup input[type="radio"][name="modele"]').each(function(){
        $(this).prop('checked', false);
    });

但是它给我的单选按钮一个未定义的错误并且它不起作用。

有什么建议吗?

【问题讨论】:

  • “但它给出了一个未定义的错误” - 究竟是什么?
  • 是的,如果我在 chrome 中检查我的来源,这个值是未定义的。我给出了单选按钮的名称,但它没有找到它。
  • 我的元素 ID 以 $i 递增,因此我无法在我的 jquery 中获得不同的值
  • 您的选择器没有使用 ID,所以它们是什么并不重要。

标签: javascript php jquery html prop


【解决方案1】:

this 并不代表您认为的意思。但你可以简化为:

$('.paymentBtnGroup input[type="radio"][name="modele"]').prop('checked', false);

【讨论】:

  • 你能解释一下为什么$(this) 不是你想的那样,他是这么认为的:)
  • 在 OP 的情况下,this 是每个复选框,并在 each 中用作每个复选框 - 你认为 OP 认为 this 在循环内是什么?
  • 你说得对,我看错了 - $(this) 是他们认为的那样。 this 不是,但这不是他们写的。
  • 终于成功了!我也需要禁用活动类,因为它总是被选中
【解决方案2】:

在应用任何 jquery 之前,你需要确保你的 DOM 已经准备好

将脚本放入$(function(){});

$(function(){
  $('.paymentBtnGroup input[type="radio"][name="modele"]').each(function(){
        $(this).prop('checked', false);
    });
});

【讨论】:

  • 它在 on.click 事件中调用的函数中,所以当我添加此表单时,它会在触发时给我一个未定义的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-11
  • 2011-06-27
  • 2012-06-27
  • 2013-09-09
  • 2013-08-04
  • 1970-01-01
相关资源
最近更新 更多