【发布时间】:2017-04-03 19:38:50
【问题描述】:
HTML 表格
第 1 行:第 1 列 [
Country DropDown] | Col #2 [StateDropDown]第 2 行:第 1 列 [
Country DropDown] | Col 2 [StateDropDown]
表格有 2 个dropdownlists,用于Country 和State - 这适用于一个下拉菜单,但它也禁用其他/状态下拉菜单!
问题是,虽然 USA 和 Aust 都有 diff states selected 文本,但在 col2 最终选择了 same State ID/value 3 (如果我选择加利福尼亚,珀斯也被禁用!,因此我的代码将它们作为重复项禁用,因为它比较选定的值而不是文本),例如此选择禁用珀斯..
[USA] -> [California] (value = 3)
[Australia] -> [Perth] (*also* has value= 3) so its disabled
如何以unique combination 的身份在每行中同时显示国家和州?还是只是比较下拉菜单的文本?...
- 即选项1,如何同时检查
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>
*** 图片显示相似...不准确
【问题讨论】:
-
我想我正在做一些事情......但在走得太远之前:我需要知道什么是动态创建的。到目前为止,我假设第一列(国家)不是动态的......我忘记了第二列的明显动态选项。 (大声笑)但无论如何我都在做某事。我明天再检查一次。这是一个艰难的!
-
@LouysPatriceBessette 我无法在两种情况下设置禁用 -
1)当新行被动态克隆/附加时 - 当这些行被附加到表中时。和2)另外在第一次运行时,我无法在当前的“$this dropdown”州或国家/地区设置禁用。 我想知道是否更容易在页面上collect all the组合,并防止相同的组合值 -
你用斜体写的:正是我在写的......
标签: javascript jquery html drop-down-menu dropdown