1
3つの選択ドロップダウンがあり、2番目と3番目のドロップダウンは1番目のドロップダウンの選択に依存します。値を動的に変更すると、selectのデフォルト選択値が表示されません
ページの読み込み時に表示するデフォルトの選択肢があります。私はそれを有効にすることができたので、2番目と3番目のドロップダウンは最初のものに基づいてオプションを変更しますが、それらをクリックすると最初の選択肢が選択されていても、
HTML
<div id="additional-number-options-284">
<select class="form-control" id="select-additional-number-country-284">
<option disabled="disabled" selected="selected">Select a country</option>
<option value="7818">Country 1</option>
<option value="7814">Country 2</option>
</select>
<select id="select-additional-number-state-284">
<option disabled="disabled" selected="selected">Select a state</option>
<option data-product="7818" value="65">State 4</option>
<option data-product="7818" value="66">State 5</option>
<option data-product="7814" value="62">State 1</option>
<option data-product="7814" value="63">State 2</option>
<option data-product="7814" value="64">State 3</option>
</select>
<select id="select-additional-number-plan-284">
<option disabled="disabled" selected="selected">Select a plan</option>
<option data-product="7818" value="7819">Plan D (+$5.00)</option>
<option data-product="7818" value="7820">Plan E (+$15.00)</option>
<option data-product="7814" value="7815">Plan A (+$10.00)</option>
<option data-product="7814" value="7816">Plan B (+$8.00)</option>
<option data-product="7814" value="7817">Plan C (+$12.00)</option>
</select>
</div>
jQueryの
jQuery("[id^=select-additional-number-country-]").change(function() {
var id = this.id.split('-').pop();
jQuery("#select-additional-number-state-" + id)
.find("option")
.show()
.not("option:first, option[data-product='" + this.value + "']")
.hide();
jQuery("#select-additional-number-state-" + id).val(
jQuery("#select-additional-number-state" + id).find("option:visible:first").val());
jQuery("#select-additional-number-plan-" + id)
.find("option")
.show()
.not("option:first, option[data-product='" + this.value + "']")
.hide();
jQuery("#select-additional-number-plan-" + id).val(
jQuery("#select-additional-number-plan" + id).find("option:visible:first").val());
}).change();
例のコードスニペットを実行すると、2番目と3番目の選択ボックスも白いことがわかります。ロード時に最初のオプションが表示されない。 – Tasos
これは、それらの 'option'要素が' value'属性を欠いていたからです。私はあなたのための答えを更新しました –
うわー..これは動作に影響を与える可能性があることを知らなかった。どうもありがとう。 – Tasos