...
таблица
Ряд № 1:Кол 1 [Country DropDown
] |Col # 2 [StateDropDown
]
Ряд № 2:Кол 1 [Country DropDown
] |Кол 2 [StateDropDown
]
стол имеет 2dropdownlists
, заCountry
& State
- это работает на один выпадающий список,но это отключает другие выпадающие списки / состояния!
Проблема в том, покаи то и другое США и Австрия имеютdiff states selected
текст, но вcol2
в конечном итогетак же выбранныйState
ID / значение3
(Если я выберу Калифорнию, Перт также отключен!, Следовательно, мой код отключает их как дубликаты, так как сравнивает выбранное значение, а не текст), например, этот выбор отключает Перт ..
[USA] -> [California] (value = 3)
[Australia] -> [Perth] (*also* has value= 3) so its disabled
Как сделать это какunique combination
из страны и штата в каждом ряду? или просто сравнить тексты выпадающих? ...
Country ID + State ID Value already exist
?Вариант 2, Просто сравните выбранные тексты (чувствует себя наполовину испеченными)// Javascript Does not disable States previously selected
$("#CountryTable").on('change', '.State', function() {
var dropDownText = $('#CountryTable .State select').not(this).map(function() {
return this.SelectedText; // does not work this.val() works but useless
}).get();
var selectedValue = $(this).val();
var otherDropdowns = $('.State').not(this);
otherDropdowns.find ('option [value =' + selectedValue + ']'). prop ('disabled', true); });
<table id="CountryTable">
<tbody id="CountryTableBody">
<tr class="row">
<td>
<select>
<option value="1">Country A</option>
<option value="2">Country B</option>
<option value="3">Country C</option>
</select>
</td>
<td>
<select>
<option value="1">State 1</option>
<option value="2">State 2</option>
<option value="3">State 3</option>
<option value="4">State 4</option>
<option value="5">State 5</option>
</select>
</td>
<tr> <!-- in JS prevent previous selection -->
<tr class="row">
<td>
<select>
<option value="1">Country A</option>
<option value="2">Country B</option>
<option value="3">Country C</option>
</select>
</td>
<td>
<select>
<option value="1">State 1</option>
<option value="2">State 2</option>
<option value="3">State 3</option>
<option value="4">State 4</option>
<option value="5">State 5</option>
</select>
</td>
<tr>
</tbody>
*** Изображение, чтобы показать что-тоаналогичный... не точный