有没有办法从.html()获取复选框状态

时间:2016-06-16 13:05:37

标签: jquery pushstate html5-history

我正在尝试使用brew install python3 curl bootstrap.pypa.io/get-pip.py | python3 进行ajax搜索,但它没有保存复选框状态。

这是我如何将表单保存到pushstate的示例:

history.pushState

其中history.pushState({ FilterSearch: container.html() }, 'search', formAction); 是包含复选框和结果的表单,container是网址。这被称为onchange的复选框(在ajax调用的结果中)。

我觉得问题是formAction似乎没有获得复选框的更新状态 - 请参阅下面的代码段。

.html
$('#test1').on('change', function() {
	console.log($('#test').html());
});

如果您在检查并取消选中输入时查看控制台,则可以看到它从未添加<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="test"> <input type="checkbox" id="test1" value="test"> </div>属性。

有没有让pushstate记住复选框的状态?

2 个答案:

答案 0 :(得分:0)

您可以使用.is(':checked')检查是否选中了复选框,它会返回true或false

&#13;
&#13;
$('#test1').on('change', function() {
	console.log($('#test1').is(':checked'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
  <input type="checkbox" id="test1" value="test">
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

感谢ADreNaLiNe-DJ和Jai的评论,指出我正确的方向。我能够设置属性,然后按如下方式调用.html

&#13;
&#13;
$('#test1').on('change', function() {
    if (this.checked) {
        $(this).attr('checked', true);
    } else {
        $(this).removeAttr('checked');
    }
    console.log($('#test').html());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
  <input type="checkbox" id="test1" value="test">
</div>
&#13;
&#13;
&#13;