我正在尝试使用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记住复选框的状态?
答案 0 :(得分:0)
您可以使用.is(':checked')
检查是否选中了复选框,它会返回true或false
$('#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;
答案 1 :(得分:0)
感谢ADreNaLiNe-DJ和Jai的评论,指出我正确的方向。我能够设置属性,然后按如下方式调用.html
:
$('#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;