禁用下拉选项

时间:2015-01-13 04:39:32

标签: javascript jquery jquery-ui

我想根据条件禁用下拉选项。我想禁用所有其他选项,除了具有文本" 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选项,并禁用其他选项。

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

此代码允许您通过检查每个下拉选项的值是否包含“java”

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

JSFIDDLE DEMO

答案 2 :(得分:0)

使用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);
    }
});

答案 3 :(得分:0)

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
}

答案 4 :(得分:0)

您可以像这样编写代码:

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