したがって、この質問は実際には、前の質問Update drop down selection with radio button selection using jquery from a few years back に関連する更新です。ドロップダウンを置き換えるためにラジオボタンを作成する必要がある同様の状況に遭遇しましたが、html/jquery/ajax を変更できません。
上記の方法を使用して、これを機能させることができました。これは素晴らしいことです。しかし、私は何日も苦労してきた途中で問題にぶつかっています。最初のラジオ オプションをクリックすると、2 番目のグループが読み込まれますが、最初のラジオ ボタン (この場合は "select option;n" を表します) のみが読み込まれますが、最初のセットの同じラジオ ボタンをもう一度クリックすると、すべてのオプションが表示されます。2回目のクリックで関数が正しく起動するのに、最初のクリックでは起動しない理由がわかりません。参照用の Web サイトhttp://www.amymatto.com/product177.htmlと、更新されたラジオ ボタン コードを次に示します。
<script type='text/javascript'>
$(function(){
$("#menu_1 select option").each(function(i,e) {
$("<input type='radio' name='sizeopt'/>")
.attr("value", $(this).val())
.attr("checked", i === 1)
.click(function() {
$("#menu_1 select").val($(this).val()).trigger('change');
$("#coloropt").empty();
}).appendTo("#sizeopt");
$("#menu_1 select").change(function(){
$("input[name='sizeopt'][value='"+this.value+"']").attr("checked","checked");
$("#menu_2 select option").delay(800).queue(function(i,e) {
$("<input type='radio' name='coloropt'/>")
.attr("value", $(this).val())
.attr("checked", i === 0)
.click(function() {
$("#menu_2 select").val($(this).val()).trigger('change');
}).appendTo("#coloropt");
$("#menu_2 select option").dequeue();
});
});
});
});
$("#menu_1 select").change(function(){
$("input[name='sizeopt'][value='"+this.value+"']").attr("checked","checked");
});
</script>
私はjqueryの使用にかなり慣れていないので、ブロックの間違いを許してください。私は完全にオフかもしれませんが、クリック時にカラーオプト入力を含むdivを空にし、カラーオプト入力の生成に遅延を設定すると、すべてがクリアされ、変更機能にajaxリクエストを処理する時間が与えられると仮定しました。私は使用しています
.trigger('change')
ドロップダウン メニューから onchange を起動すると、すべてが機能しているように見えますが、2 回クリックする必要がありますか? 私は困惑しています、誰かがこれについて考えているか、私のコードで何かをキャッチして、最初に見逃す可能性がありますか?
みんなありがとう!