后退按钮将复选框设置为'checked =“checked”',但.checked为false

时间:2015-03-11 00:08:35

标签: javascript jquery

我们的代码发现了一个非常奇怪的错误,其中点击一组搜索结果,然后点击返回将之前设置的所有选中过滤器设置为checked="checked",但实际的.checked值为false。这会导致在单击下一页时有效清除过滤器的情况,因为它会重新提交带有页面++'的表单。

这也导致我们的过滤器排序出现一些小问题:

$('.filters .sortable ul').each(function(idx, elem) {
    var ul_elem = $(elem);
    ul_elem.children().sort(function(a, b) {
      var inputA = $(a).find('input')[0];
      var inputB = $(b).find('input')[0];
      if (inputA.checked != inputB.checked) {
        return inputA.checked ? -1 : 1;
      }
...

在这种情况下,inputA将为checked返回false,即使之前已经检查过(并且checked=checked)。有没有办法解决这个问题,而无需使用重载脚本来清理值?

有没有人遇到像这样的后退按钮问题?

在最新的Chrome上,Yosemite。

0 个答案:

没有答案