У меня есть 2 выпадающих меню. Когда вы выбираете блок обработки из первого раскрывающегося списка $ («# HandlingUnit»), он должен читать текст метки для выбранной группы опций, а затем менять вторую на основе текста опции ....Выберите изменения, которые выбраны только дважды
Пример сценария:
- Выбор 2222 от $ ("# HandlingUnit"), она читает метку OPTGROUP "случаи" и изменения $ ("# HUType") в "случаи"
- Выбрать P00001 от $ («# HandlingUnit»), он считывает метку optgroup «Поддоны» и изменяет $ («# HUType») на «поддоны»
- Выберите 1111 (или 2222) из $ («# HandlingUnit»), он не изменяется к делам.
Это отлично работает для 2 изменений, однако в третий раз второе выпадающее меню не изменяется.
<label class="label_long" for="HandlingUnit">Handling Unit:</label>
<select id="HandlingUnit" required="" name="HandlingUnit">
<optgroup id="Pallets" label="Pallets">
<option value="P00001">P00001</option>
</optgroup>
<optgroup id="Cases" label="Cases">
<option value="1111">1111</option>
<option value="2222">2222</option>
</optgroup>
</select>
<label class="label_long" for="HuType">Handling Unit Type: </label>
<select id="HUType" name="HUType">
<option value="1" name="Pallets"> Pallets </option>
<option value="0" name="Case" selected="selected"> Cases </option>
<option value="3" name="Items"> Items </option>
</select>
Javascript/JQuery:
$(document).on("change", "select#HandlingUnit", function() {
var selected = $(":selected", this).parent().attr('label');
$("#HUType").find("option:selected").removeAttr("selected");
$("#HUType option").filter(function() {
console.log(this.text.trim() + " >> " + selected);
return this.text.trim() == selected;
}).attr("selected", true)
});
Edit: JSFiddle не отвечает, как это делает в моем приложении, поэтому я думаю, что может быть что-то большее происходит .. Заглянув в него, он отчитается, если найду что-нибудь.
Это сделал трюк. Спасибо! – guyfromfl