Jquery 一次选择并禁用6个选择元素中的选项
我想处理一些选择框,使其同时工作。 在select1a、select1b或select1c中选择一个选项时,这三个选项的值应相同。 除此之外,应在另一组三个选择框中禁用选定值。 select2a、select2b和select2c的反应应该相同 我在这里找到了一些代码,我只是将其剪切在一起,但它只在Opera12中起作用,在Firefox、Opera15或Safari中不起作用。 也许有人能给我一个关于我问题的提示 JS: HTMLJquery 一次选择并禁用6个选择元素中的选项,jquery,select,option,Jquery,Select,Option,我想处理一些选择框,使其同时工作。 在select1a、select1b或select1c中选择一个选项时,这三个选项的值应相同。 除此之外,应在另一组三个选择框中禁用选定值。 select2a、select2b和select2c的反应应该相同 我在这里找到了一些代码,我只是将其剪切在一起,但它只在Opera12中起作用,在Firefox、Opera15或Safari中不起作用。 也许有人能给我一个关于我问题的提示 JS: HTML 2-3 4. 5-6 16 17-18 文本1 文本2 文
2-3
4.
5-6
16
17-18
文本1
文本2
文本3
文本4
文本5
7.
15
10
15
7.
2-3
4.
5-6
16
17-18
文本1
文本2
文本3
文本4
文本5
7.
15
10
15
7.
按如下方式更新您的JS,它将正常工作:
$('#select1a, #select1b, #select1c').change(function () {
$('#select1a, #select1b, #select1c').not(this).val($(this).val());
$('#select2a, #select2b, #select2c').find('option:not([value="' + $(this).val() + '"])').removeAttr("disabled");
$('#select2a, #select2b, #select2c').find('option[value="' + $(this).val() + '"]').attr("disabled", "disabled");
});
$('#select2a, #select2b, #select2c').change(function () {
$('#select2a, #select2b, #select2c').not(this).val($(this).val());
$('#select1a, #select1b, #select1c').find('option:not([value="' + $(this).val() + '"])').removeAttr("disabled");
$('#select1a, #select1b, #select1c').find('option[value="' + $(this).val() + '"]').attr("disabled", "disabled");
});
那把小提琴对我来说很好。我使用firefox。它在FF中对我不起作用。点击一段时间,它停止工作…可能重复:谢谢!在这一行中,您可以设置适合的“选择”,从而解决问题。我想我的代码行中也有禁用配合。是的,主要是选择。其余的也可以从原始脚本开始,我没有试过那个。。。
<table>
<tr>
<td>
<select id="select1a" name="select1a" size="5">
<option value="1">2-3</option>
<option value="2" disabled="disabled">4</option>
<option value="3">5-6</option>
<option value="4">16</option>
<option value="5" selected="selected">17-18</option>
</select>
</td>
<td>
<select id="select1b" name="frage_1" size="5">
<option value="1">Text 1</option>
<option value="2" disabled="disabled">Text 2</option>
<option value="3">Text 3</option>
<option value="4">Text 4</option>
<option value="5" selected="selected">Text 5</option>
</select>
</td>
<td>
<select id="select1c" name="select1c" size="5">
<option value="1">7</option>
<option value="2" disabled="disabled">15</option>
<option value="3">10</option>
<option value="4">15</option>
<option value="5" selected="selected">7</option>
</select>
</td>
</tr>
<tr>
<td>
<select id="select2a" name="select2a" size="5">
<option value="1">2-3</option>
<option value="2" selected="selected">4</option>
<option value="3">5-6</option>
<option value="4">16</option>
<option value="5" disabled="disabled">17-18</option>
</select>
</td>
<td>
<select id="select2b" name="frage_2" size="5">
<option value="1">Text 1</option>
<option value="2" selected="selected">Text 2</option>
<option value="3">Text 3</option>
<option value="4">Text 4</option>
<option value="5" disabled="disabled">Text 5</option>
</select>
</td>
<td>
<select id="select2c" name="select2c" size="5">
<option value="1">7</option>
<option value="2" selected="selected">15</option>
<option value="3">10</option>
<option value="4">15</option>
<option value="5" disabled="disabled">7</option>
</select>
</td>
</tr>
</table>
$('#select1a, #select1b, #select1c').change(function () {
$('#select1a, #select1b, #select1c').not(this).val($(this).val());
$('#select2a, #select2b, #select2c').find('option:not([value="' + $(this).val() + '"])').removeAttr("disabled");
$('#select2a, #select2b, #select2c').find('option[value="' + $(this).val() + '"]').attr("disabled", "disabled");
});
$('#select2a, #select2b, #select2c').change(function () {
$('#select2a, #select2b, #select2c').not(this).val($(this).val());
$('#select1a, #select1b, #select1c').find('option:not([value="' + $(this).val() + '"])').removeAttr("disabled");
$('#select1a, #select1b, #select1c').find('option[value="' + $(this).val() + '"]').attr("disabled", "disabled");
});