我有一组列表框
这里我只想了解特定的选项 即
<select name="list" id="l1">
<option value="1" selected="selected" >1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="test">test</option>
<option value="test2">test2</option>
</select>
在上面的列表框中,我想将'test'和'test2'选项限制为只读。用户不应选择这两个选项('test','test2')。是否有可能在jquery
请做必要的事。谢谢
答案 0 :(得分:2)
<select name="list" id="l1">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5" >5</option>
<option value="test" disabled>test</option>
<option value="test2" disabled>test2</option>
</select>
答案 1 :(得分:2)
向禁用的项目添加一个类(可选择将它们与类一起使用)。使用jQuery数据属性存储选择列表的默认值。在更改时,监视是否已选择禁用选项。如果是,则恢复为存储的值。否则更新存储的值并继续。
http://jsfiddle.net/mrtsherman/Ew5uW/
//add class to disabled items
var len = $('option[value^="test"]').addClass('disabled');
//store default selected item value
$('#l1').data('selValue', $('#l1').val());
//monitor change events
$('#l1').change(function() {
//if a disabled option is chosen then restore prev value
if ($(this).children('option:selected').hasClass('disabled')) {
$(this).val($(this).data('selValue'));
}
//otherwise store new value
$(this).data('selValue', $(this).val());
});
答案 2 :(得分:1)
试试这个jquery:
$(document).ready(function () {
$("select[id='l1'] option").each(function()
{
var s = $(this).val();
if(s == 'test' || s == 'test2')
{
$(this).attr('disabled', 'disabled');
}
});
});
跳过它的帮助
答案 3 :(得分:0)
试试这个,
$("#l1").change(function()
{
if($(this).val()=="test" || $(this).val()=="test2")
{
alert("This option is disabled..");
return false;
}
})