2

いずれかが選択されたときに他のすべての選択メニューをリセットする (jQuery および Wordpress)

いずれかが選択されたときに、他のすべての選択メニューを(送信を押さずに)リセットする必要があります。これは 2 つのメニューのみの例ですが、おそらく 4 つのメニューで動作する必要があります。(1 つを選択すると、他の 3 つがデフォルト値にリセットされます)

メニュー例 1 :

    <select name="jj_register_options[number]" id="jj_register_options[number]">
    <option value="">Front Page</option>
    <option class="level-0" value="1115">Cart</option>
    <option class="level-0" value="1143">Checkout</option>
    <option class="level-1" value="1148">&nbsp;&nbsp;&nbsp;Checkout → Pay</option>
    <option class="level-1" value="1149">&nbsp;&nbsp;&nbsp;Order Received</option>
    <option class="level-0" value="1009">Checkout</option>
    <option class="level-0" value="1116">Image Store</option>
    <option class="level-0" value="971">Logout</option>
    <option class="level-0" value="967">Lost Password</option>
    <option class="level-0" value="1042">Members</option>
    <option class="level-0" value="1144">My Account</option>
</select>

メニュー例2

<select name="jj_register_options[categories]" id="jj_register_options[categories]" class="">
    <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(0)</option>
    <option class="level-0" value="5">testy test&nbsp;&nbsp;(1)</option>
    <option class="level-0" value="7">Help &amp; Support&nbsp;&nbsp;(1)</option>
    <option class="level-0" value="8">Themes&nbsp;&nbsp;(0)</option>
    <option class="level-0" value="24">Entertainment&nbsp;&nbsp;(1)</option>
    <option class="level-0" value="28">Lifestyle&nbsp;&nbsp;(1)</option>
</select>

一方がクリックされると、もう一方はリセットする必要があります。

このコードがありますが、機能していません。

$('#jj_register_options[number]').change(function(){
    $('#jj_register_options[categories]').prop('selectedIndex',0);
});

$('#jj_register_options[categories]').change(function(){
    $('#jj_register_options[number]').prop('selectedIndex',0);
});

どんな助けでも大歓迎です。PHPは得意ですが、jQuery/javascriptの知識はほとんどなく、

4

3 に答える 3

1

jQuery は属性セレクターを使用[し、セレクターは属性を持つ ID を持つ要素を選択します。それらをエスケープするか、別の識別子を使用してください。jQuery 1.6+を使用している場合、メソッドはそのまま機能します。]jj_register_optionscategories.prop()

(function($) {
   $(function() {
      $('#jj_register_options\\[categories\\]').on('change', function() {
          // ...
      }); 
   });
})(jQuery);
于 2013-09-08T13:42:51.967 に答える
0

フォーム処理は not に基づいているため、idはフォーマットに従う必要はありません。option[key]nameid

<select name="jj_register_options[number]" id="jj_number">
<select name="jj_register_options[categories]" id="jj_categories" class="">

この方法でそれらをターゲットにする方が簡単でクリーンです。

jQuery(document).ready(function($) {   
    $('#jj_number').change(function(){
        $('#jj_categories').prop('selectedIndex',0);
    });

    $('#jj_categories').change(function(){
        $('#jj_number').prop('selectedIndex',0);
    });
});
于 2013-09-08T13:54:22.807 に答える