ホームページ  >  記事  >  ウェブフロントエンド  >  JQueryの全選択・逆選択が2回目失敗する問題について

JQueryの全選択・逆選択が2回目失敗する問題について

一个新手
一个新手オリジナル
2017-10-12 10:28:221307ブラウズ

最近、プロジェクトで選択/選択解除機能をテストしているときに、親ボックスが初めて選択/選択解除されたときに、サブボックスの全選択/非選択状態が同期されるという問題が発生しました。親ボックスをクリックすると、子ボックスが応答しなくなります。元のコードの一般的な構造は次のとおりです:


'input[name="xxx[]"]').attr("checked"

ステップ1 ポジティブな波動を試してください:


function selectAll(obj){            
    if(obj.checked) {
                $('input[name="xxx[]"]').attr("checked", true);
            } else {
                $('input[name="xxx[]"]').removeAttr("checked");
            }
}

Phoenix-----全く効果がないので、放棄してください。

ステップ 2。インターネットで簡単に検索したところ、この問題に遭遇した人の中には比較的よくあることがわかりました。私は何千マイルも離れたところにいるはずです。いくつかをクリックして調べてみると、基本的に attr の代わりに prop を使用すると問題が解決できるとのことですが、解決策は次のとおりです:

ただし、プロジェクトで使用されているバージョンは 1.6 未満でした。バージョンは変えない方が良いと言われたので断念しました。

ステップ3. JQueryを放棄するしかありません... ネイティブjsの記述方法を試してください: コードは次のとおりです:


function selectAll(obj){    
    var xxx = document.getElementsByName("xxx[]");        
    if(obj.checked) {            
        for(var i = 0;i < xxx.length;i++) {
                xxx[i].checked = true;
            }
        } else {            for(var i = 0;i < xxx.length;i++) {
                xxx[i].checked = false;
            }
        }
}

テストしてスムーズに解決します。実際、これは小さな問題ですが、この問題を 1 つの枠に限定することはできず、別の角度から考えると、より適切に問題を解決できることがよくあります。

以上がJQueryの全選択・逆選択が2回目失敗する問題についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。