0

奇妙な問題があります。私はMagento用に何かを開発しています。リンク「すべてのカテゴリを選択」を追加し、jQueryイベントを追加して、クリックしたときにすべてのチェックボックスをチェックしました。それはうまく機能しますが、どういうわけかhtmlが更新されず、Magentoはすべての入力が選択されていることを確認できません. しかし、チェックボックスを手動でクリックすると、htmlが更新され(コンソールを見ています)、Magentoの保存ボタンが正常に機能します。

この問題を解決するにはどうすればよいですか? HTMLの更新を実行するために他に何をすべきかわかりません。動作しているように見えますが (チェックボックスが選択されています)、コンソールと html を見てください。HTML を更新する必要があります。

私はjsfiddleを作成しました:こちら

4

5 に答える 5

2

これを試して:

.attr('checked', 'checked');
于 2012-10-05T08:47:54.977 に答える
1

私はそれを考え出した。マジェントの問題でした。Magento はそのフォームを使用せず、非表示の入力を使用し、選択されたチェックボックスを収集します。とにかくすべての回答に賛成します。ありがとう

于 2012-10-05T08:40:27.147 に答える
1

このように、すべてのチェックボックスをオンにするだけです。

あなたのis(':checked')IF ステートメントは、で囲まれている必要があるため、すべてのチェックボックスに適用されるため、間違っているよう.each()です。リンクしたフィドルでより単純なアプローチを試してください。

于 2012-10-05T08:32:17.463 に答える
1

次のようなものを使用できます:

// custom jQuery added
jQuery(function() {
    var to_check = false;       
    jQuery(".select-all-categories").click(function(){
        if (!to_check)
            to_check = true;
        else
            to_check = false;

        jQuery("#banner-categories input[type=checkbox]").each(function(){
            if (!to_check)      
                jQuery(this).removeAttr("checked");
            else  
                jQuery(this).attr("checked","checked");
        });          
        return false;
    });
});

コードを最適化できます

于 2012-10-05T08:41:54.650 に答える
1

prop('checked', true);代わりに試しましたprop('checked', 'checked');か?それは私がすべての例で見ているものです。

于 2012-10-05T08:34:04.920 に答える