2017-06-09 14 views
0

タイトルが多少混乱するかもしれませんが、ここで詳しく説明します。 私は3つのドロップダウンリストを持っています。 2番目の 'select'要素のオプションは、最初に選択した 'select'オプションで選択したオプションに基づいて一意でなければなりません。 3番目のものと同じことですが、2番目の選択された「選択」オプションでは、選択したオプションに基づいて一意のオプションが必要です。3つの要素を選択して、最初と2番目の選択で選択したオプションに基づいてオプションを変更します。

私が行った限り、最初の「選択」で選択したものに基づいて2番目の「選択」オプションを変更できますが、2番目の「選択」オプションを変更すると、オプションはまったく変更されません。ここ はHTMLである:ここ

<select id="item1"> 
<option value="0">1 item</option> 
<option value="1">2 item</option> 
<option value="2">3 item</option> 
</select> 

<select id="item2"> 
<option value="">-- select one -- </option> 
</select> 

<select id="item3"> 
<option> -- select another one --</option> 
</select> 

はjQueryのである:

$(document).ready(function() { 


$("#item1, #item2").change(function() { 
    var value = $(this).val(); 
    $("#item2").html(options[value]); 

    var value1 =$("#item2").val(); 
    $("item3").html(options[value]); 
}); 


var options = [ 
    "<option value='test'>item1: test 1</option><option value='test2'>item1: test 2</option>", 
    "<option value='test'>item2: test 1</option><option value='test2'>item2: test 2</option>", 
    "<option value='test'>item3: test 1</option><option value='test2'>item3: test 2</option>" 
]; 


var options1 = ["<option value='test'>item33313: test 3332233</option> 
<option value='test3'>item333: test 33333</option>","<option 
value='test'>item33313: tesdadadadadat 3332233</option><option 
value='test3'>item333: test 33333</option>","<option 
value='test'>itlolooloem33313: test 3332233</option><option 
value='test3'>item333: ltoltrolltest 33333</option>"]; 

})。
ここにJSfiddleがあります。 http://jsfiddle.net/2hyda4b1/ ヘルプ/ヒントは非常に高く評価されています!
ありがとうございます!

答えて

0

次のドロップダウンに値を渡すときは、ドロップダウン1からドロップダウン2まで、ドロップダウン2からドロップダウン3までのインデックスを渡しています。値を渡しています。 1ダウン
ドロップあなたがダウンしている1 選択した値は、2つのドロップダウン最初のオプション 第二のドロップに渡された値を選択すると、合格値は

をTEST1れる1 であるあなたは、ドロップダウンで使用している値2は、ドロップダウンの値に依存または指し示します。これをデカップリングする必要があります。具体的には、インデックスまたは値を渡してoptions配列を設定します。

のでような何か: `$(ドキュメント).ready(関数(){

$("#item1").change(function() { 
    var value = $(this).val(); 
    $("#item2").html(options[value]); 
}); 

$("#item2").change(function() { 
    var value = $(this).val(); 
    $("#item3").html(options[value]); 
}); 


var options = [ 
    "<option value='0'>item1: test 1</option><option value='1'>item1: test 2</option>", 
    "<option value='0'>item2: test 1</option><option value='1'>item2: test 2</option>", 
    "<option value='0'>item3: test 1</option><option value='1'>item3: test 2</option>" 
]; 

})。 `

+0

私はこの方法を試しましたが、動作しません。入力していただきありがとうございます。 –

+0

あなたが送った同じフィドルで動作するので、好奇心が強いです。ここでの目標は、ドロップダウンをトリガーして、2番目のドロップダウンの選択に基づいて値を設定することでした。私はあなたが3番目のドロップダウンをしたいものをさらに明確にする必要があるかもしれないと思います。あなたの質問に満足しているので、3番目のドロップは、2番目のドロップダウンへの変更に伴って変化しています。 –

+0

@ masterNixe更新されたFiddleを追加しました。http://jsfiddle.net/2hyda4b1/9/ –

関連する問題