单击div中的复选框,它会更改复选框的状态。 jQuery的

时间:2016-08-31 00:46:24

标签: jquery html checkbox

有人可以帮我解决这个问题吗?

$('.check_group').click(function () {
    var check = $(this).children('input')[0];
    check.checked = !check.checked;
    alert(check.checked);
    //run something else
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
  <input type="checkbox" />
</div>

因此,当我点击复选框时 - 更改复选框的状态,然后触发jQuery和状态更改。

如何点击div / Checkbox - 复选框已更改且有警报?

3 个答案:

答案 0 :(得分:1)

尝试使用此代码,您需要确定何时单击DIV,然后您需要选中/取消选中该复选框。

$('.check_group').click(function (e) {
    var input = $(this).children('input[type="checkbox"]');
    //Identify the node which is clicked
    if(e.target.nodeName == "DIV")
    {
      $(input).prop('checked', !$(input).prop("checked"));
    }
    console.log($(input).is(":checked"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
  <input type="checkbox" />
</div>

答案 1 :(得分:0)

你想这样做吗?

&#13;
&#13;
$('.check_group').click(function () {
    var checkbox = $(this).children('input')[0];
    setTimeout(function(){alert(checkbox.checked);},200);
    //run something else
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
  <input type="checkbox" />
</div>
&#13;
&#13;
&#13;

除非您首先要进行可视化显示检查然后提醒

,否则不需要setTimeout

答案 2 :(得分:0)

临时解决方案:

$('.check_group').click(function (e) {
    var check = $(this).children('input')[0];
    if (e.target.tagName == "INPUT") {
         check.checked = !check.checked;
    }
    check.checked = !check.checked;
    alert(check.checked);
    //
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
  <input type="checkbox" />
</div>