我正在使用jQuery MultiSelect plugin。我有一个要求 - 默认情况下选择英语,用户无法删除英语。
我试过了(它总是检查英语,但删除了值):
JQUERY:
jQuery("#language").multiSelect({
oneOrMoreSelected: '*',
selectAll: false,
noneSelected: 'Check some languages!'
}, function(objCheckbox) {
if (jQuery(objCheckbox).val() == "English") {
jQuery(objCheckbox).attr("checked", "checked");
}
});
HTML:
<select id="language" name="language" multiple="multiple" style="width:300px;">
<option value="English" selected="selected">English</option>
<option value="Hindi">Hindi</option>
<option value="Spanish">Spainish</option>
<option value="Urdu">Urdu</option>
<option value="French">French</option>
<option value="Bengali">Bengali</option>
</select>
如果它有帮助,这是jsfiddle representation。谢谢你的时间。
答案 0 :(得分:2)
您正在使用的插件无法让您执行此操作,但只需对插件进行少量更改即可轻松实现此行为,
从http://labs.abeautifulsite.net/archived/jquery-multiSelect/jquery.multiSelect.js下载插件的源代码并将其保存在项目的库中
使用<script src="..THE FILE PATH..."></script>
替换行号73 var html = '<label><input type="checkbox" name="' + id + '[]" value="' + option.value + '"' + (option.disabled?' disabled="disabled"':'');
替换行号442:suboptions.push({ text: $(this).html(), value: $(this).val(), selected: $(this).attr('selected'),disabled: $(this).is(":disabled") });
将第449行替换为:options.push({ text: $(this).html(), value: $(this).val(), selected: $(this).attr('selected'),disabled: $(this).is(":disabled") });
- 将disabled="disabled"
属性添加到您要停用的option
你已经完成了
不需要使用此实现的回调函数
这是一个小提琴:http://jsfiddle.net/KGUmR/ (我添加了已编辑插件的缩小源代码,因为我不想托管它 - 查看Javascript方块底部的插件使用)
答案 1 :(得分:0)
这对你有帮助吗?