我正在使用http://ivaynberg.github.io/select2/中的select2.js
插件进行员工列表下拉列表并进行多项选择。
<select id="empList" name="empList" multiple="multiple">
<option value="ALL">ALL</option>
<option value="1">emp 1</option>
<option value="2">emp 2</option>
<option value="3">emp 3</option>
我的要求是当用户选择“所有”时,个别员工不能被选举。如果用户选择任何员工,则“ALL”不能被选举。
谢谢,
答案 0 :(得分:0)
我没有测试这段代码,但它应该是这样的:
$('#empList').change(function () {
var self = $(this);
if (self.val() == undefined) { // Selected all option
$.each(self.find('option'), function (res) {
if (res.attr('value') != undefined) {
res.prop('disabled', true);
}
})
}
else {
$.each(self.find('option'), function (res) {
if (res.attr('value') != undefined) {
res.prop('disabled', false);
}
})
}
})
希望它会有所帮助。
答案 1 :(得分:0)
我为你找到了解决方案...... 把它保存在你的脚本中..,
$('#empList').click(function(){
var Value = $(this).val();
$("#empList option").each(function(){
var Opt = $(this).val();
if(Value == 'ALL'){
if(Opt != Value){
$("option[value="+Opt+"]").prop('disabled', true);
} else {
$("option[value="+Opt+"]").prop('disabled', false);
}
} else {
if(Value == null) {
$("option[value="+Opt+"]").prop('disabled', false);
} else {
$("option[value='ALL']").prop('disabled', true);
}
}
});
});
答案 2 :(得分:0)
我相信你正在寻找这样的事情:http://jsfiddle.net/jaTPc/
继承了modded html(添加的类):
<select id="empList" name="empList" multiple="multiple">
<option value="ALL" class="all">ALL</option>
<option value="1" class="notall">emp 1</option>
<option value="2" class="notall">emp 2</option>
<option value="3" class="notall">emp 3</option>
</select>
和jQuery
$("#empList").change(function() {
var optionAll = $(".all");
var optionOther = $(".notall");
this.value == "ALL" ? optionOther.prop("disabled", true) : optionAll.prop("disabled", true);
});