У мене є такий html, як це
<table border="1">
<tr>
<td>
<select id="t00">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
</td>
<td>
<select id="t01">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
</td>
</tr>
<tr>
<td>
<select id="t10">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
</td>
<td>
<select id="t20">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
</td>
</tr>
Це мій HTML-код, генерований за допомогою команди PHP, я вже це зробив.
Користувач вибирає перше спадне значення першого рядка, ніж те саме значення, вимкнено або сховати наступне спадне значення за допомогою JQuery або JavaScript.
Я хочу перевірити цей елемент, що випадає, у кожному рядку таблиці, а не в усіх (уся таблиця).
наприклад: у першому рядку я вибрав "volvo", потім наступний елемент вибору "volvo" відключений у другому рядку я вибрав те саме значення "volvo", то він також відключений у наступному елементі вибору.
Код JQuery не впливає на весь випадаючий (виберіть) елемент.
Цей код корисний, але я хочу перевірити кожен рядок таблиці
Відповіді:
1 для відповіді № 1Я використовую той самий код у наданому вами посиланні, але це контекст до рядка таблиці:
$("select").change(function()
{
var tr = $(this).closest("tr");
tr.find("select option").attr("disabled",""); //enable everything
//collect the values from selected;
var arr = $.map
(
tr.find("select option:selected"), function(n)
{
return n.value;
}
);
//disable elements
tr.find("select option").filter(function()
{
return $.inArray($(this).val(),arr)>-1; //if value is in the array of selected values
}).attr("disabled","disabled");
});