禁用下拉选项

Disable the Drop down options

我想根据条件禁用下拉选项。我想禁用所有其他选项,但文本为 "Java".

的选项除外

例如:

<select id="ddlList">
   <option value="csharp">C#</option>
   <option value="vb">VB.NET</option>
   <option value="jquery">jQuery</option>
   <option value="java">Java</option>
</select>

在这种情况下,只有 java 选项应启用,其他选项应禁用。

$("#ddlList option").each(function(){
    if(!$(this).val().contains("java"))
        $(this).attr('disabled', true);
});

此代码允许您通过检查其值是否包含“java”

来设置每个下拉选项的禁用属性

JSFIDDLE DEMO

JQuery :

$('#ddlList option:not([value=java])').prop('disabled', true);

JSFiddle

JavaScript :

 var filter = document.querySelectorAll('#ddlList option:not([value=java])')
 Object.keys(filter).forEach( function(g){ filter[g].disabled = true })  

JSFiddle

使用 disabled 属性.

$("#ddlList option[value!='java']").prop("disabled", true);

如果您想以更实用的方式进行更多控制,您可以查看每个选项:

$("#ddlList option").each(function () {
    var allowed = ["java"];
    if (allowed.indexOf($(this).val()) === -1) {
        $(this).prop("disabled", true);
    }
});
function optionDisable(selectId, optionIndex){
    document.getElementById(selectId).children[optionIndex].disabled="disabled";
}

document.getElementById(optionid).style.display = 'none';

function makeDisable(){
    var a=document.getElementById("ddllist")
    a.disabled=true
}

你可以这样写你的代码:

Select Language: <select id="ddlList">
<option value="csharp">C#</option>
<option value="vb">VB.NET</option>
<option value="jquery">jQuery</option>
<option value="java">Java</option>
</select>

JavaScript:

$(document).ready(function(){
    var condition = true;
    if(condition)
    {
        $("select option").prop('disabled',true);
        $("select option[value='java']").removeAttr('disabled');
        $("select").val("java")
    }
    else
    {
        //apply your logic here
    }
});

Demo Fiddle