Jquery列表框限制要选择的特定选项


Jquery listbox restrict the particular options to select

我有一组列表框

在这里,我想只读特定选项即

        <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"answers"test2"选项限制为只读。用户不应选择这两个选项("测试"、"测试2")。在jquery 中有可能吗

请做必要的事。感谢

为禁用的项添加一个类(可以选择使用该类使其变灰)。使用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());
});​
<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>

尝试这个jquery:

   $(document).ready(function () {
  $("select[id='l1'] option").each(function()
  {
       var s = $(this).val();
       if(s == 'test' || s == 'test2')
         {
         $(this).attr('disabled', 'disabled');
         }
  });
 });

跳转其帮助

试试这个,

$("#l1").change(function()
{
if($(this).val()=="test" || $(this).val()=="test2")
 {
   alert("This option is disabled..");
   return false;
 }
})