2
Storage.prototype.setObj = function(key, obj) {
    return this.setItem(key, JSON.stringify(obj))
    ^-----Error in this line: Uncaught TypeError: Accessing selectionDirection on an input element that cannot have a selection
}
var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
        return this.id;
});
sessionStorage.setObj("savedCollSearch",selected);

jQuery 1.7.2 と Chrome 22 を使用しています。このエラーは Firefox 16 で Uncaught Exception として表示されます。SO と Google で検索しても解決せず、これを解決する方法がわかりません。

jQuery が適切にロードされていることは 100% 確信しています。

4

1 に答える 1

4

この表情…

var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
  return this.id;
});

...ここでは誤用されているようです:チェックされたチェックボックス要素のjQueryでラップされたコレクションが返されますが、これはおそらく文字列化が容易ではありません(循環参照のため)。

(補足として、.eachを持たない最初の要素で反復を停止するidか、空の文字列に設定しますが、ここではあまり重要ではありません)

代わりにこれを使用したいと思うでしょう:

var selected = jQuery('input:checkbox.mychkbox:checked').map(function() {
  return this.id;
}).get();
于 2012-10-16T15:02:38.653 に答える