我在表单上有6个html选项,每个选项包含相同的8个选项。
如果从其中一个选项中选择了一个选项,那么我希望在所有其他选项中禁用该选项。我希望选项仍然可见(即不得删除)。
是否有可以使用的jquery插件或类似插件?
答案 0 :(得分:2)
在此处试试:http://jsfiddle.net/jbjkm/3/
$.fn.exclusiveSelectSet = function() {
var set = this, options = this.find('option');
return this.change(function() {
var selected = {};
set.each(function(){ selected[this.value] = true });
options.each(function() {
var sel = this.parentNode;
this.disabled = this.value && selected[this.value] &&
sel.options[sel.selectedIndex] != this;
});
}).change();
}
$('select.loves').exclusiveSelectSet();
$('#likes select').exclusiveSelectSet();
在英语中,每当更改选择值时:
values
。value=""
)或它是<select>
中的选定选项。答案 1 :(得分:0)
禁用/启用具有相同值的所有其他复选框添加此Javascript:
$(document).ready(function(){
$('input[tpye="checkbox"]').change(function(){
if($(this).is(':checked'))
$('input[value="'.$(this).val().'"]').each(function(){
$(this).attr('disabled', true);
});
else
$('input[value="'.$(this).val().'"]').each(function(){
$(this).removeAttr('disabled');
});
});
});
如果你使用选择试试这个:
$(document).ready(function(){
$('select').change(function(){
$('option:disabled').each(function(){
$(this).removeAttr('disabled');
});
$('select').each(function(){
var v = $(this).val();
$('option[value="'+v+'"]').each(function(){
if($(this).parent() != $(this))
$(this).attr('disabled',true);
});
});
});
});
编辑:啊,对,在禁用某些(重置)
之前启用所有选项