0

jquery を使用して、1 番目と 2 番目のメニューの選択に基づいて 2 番目と 3 番目のドロップダウン メニューを表示しています。

私が採用した方法は、後続のすべてのドロップダウンを style="display:none" にし、.toggle() 機能を使用して、前のドロップダウンで選択したときにそれらを表示することです。

項目が選択されると、一意の ID を維持するために末尾に数字が追加されます。

これがjsfiddleです:http://jsfiddle.net/36E6m/3/

ご覧のように、html は不完全ですが、最初から 'Mortice' を選択し、2 番目から 'Deadlock' を選択した場合、十分にテストできます。

これまでのところ、最初のメニューはすべてのアイテム (有効な html を持つ 2 つ) に対して機能していましたが、それでも機能しなくなりました。

これで、最初のメニュー (Mortice) の最初の選択のみが別のメニューを表示します。

私が間違っていることや、どうすればもっとうまくやれるかについての助けをいただければ幸いです。

どうもありがとう、

ニック。

4

1 に答える 1

4

を使用する代わりに、を使用して.click()調べます.change()

$('#type_1').change(function() {
    var o = $(this).find(":selected");
    $('#' + o.attr("id") + '2').toggle();
});

また、idは dom 内の要素ごとに一意である必要があります。(タイプ2の下の2つのドロップダウンは同じIDを持っています)ドロップダウンのセレクターは次のようになります

$("select[name='type_2']").change(function() {
    var o = $(this).find(":selected");
    $('#' + o.attr("id") + '2').toggle();
});

これはjsfiddleの少し作り直された例です。

于 2011-03-25T11:19:08.537 に答える