所以我有3个选择输入字段,我想知道是否可以在选择后禁用其他选项。即:
<tr id="row1">
<th>Row 1</th>
<td>
<select>
<option value="1">1</option>
<option value="2" selected>2 selected so 1+3 are disabled</option>
<option value="3">3</option>
</select>
</td>
</tr>
<tr id="row2">
<th>Row 2</th>
<td>
<select>
<option value="1" selected>1 selected 2+3 are disabled</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
</tr>
<tr id="row3">
<th>Row 3</th>
<td>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected>3 (you get it...)</option>
</select>
</td>
</tr>
答案 0 :(得分:2)
试试这个:
$('select').change(function(){
$(this).find('option:not(:selected)').prop('disabled', true)
})
答案 1 :(得分:2)
您可以将onchange事件绑定到select。然后选择未选择哪些选项元素并禁用此选项。如果您已经熟悉jQuery,可以这样做:
$("select").bind("change", function(){
$(this).children("option:not(:selected)").attr("disabled", "disabled");
});
答案 2 :(得分:0)
禁用其他选项会阻止用户更改其选择,因此只需使用javascript删除所有其他选项。
快速,肮脏的方式是
<select onchange='for(vari=0, l=this.options.length; i<l; i++){ if(this.options[i].selected) continue; this.remove(i); }'>
不需要Jquery。但是,我不会建议将javascript与html混合,除非你没有任何其他可以输入的外部javascript并将其作为这些特定select语句的处理程序应用。