1

ダースのドロップダウンリンストを含むhtmlページがあります

それらの1つは

@Html.DropDownListFor(model => model.PrimaryNetworkInt, new SelectList(ViewBag.AvailableNetworks, "ID", "Name"), "Offline")

2 つ目は他の値を保存し、それを「AAA」に変更すると、NULL オプション (つまり「オフライン」) を選択する最初の 1 つの機能を無効にする必要があります (他の値が選択されている場合は元に戻します)。

選択ロジックは正常に機能します。

$('#SecondDDList').change(function () { SecondDDListChanged(); });

var SecondDDListChanged() = function(){
    //...
    if ($('#SecondDDList').val()==-1){ //-1 i.e == "AAA" in my example
        //Here i need logic to disable NULL selection
    } else {
        //Here i need enable NULL option
    }
}

それを行うより良い方法は何ですか?次のようなものかもしれません:

$("#PrimaryNetworkInt option[value=null]").attr("disabled", "disabled");

なにか提案を?

4

3 に答える 3

1

メソッド.show()および.hide()を使用して、ユーザーが値を選択できる (または選択できない) ことを確認できます。

$("#PrimaryNetworkInt").change(function() {
    if ($(this).val()==-1){ //-1 i.e == "AAA" in my example
        $("#PrimaryNetworkInt option[value='null']").hide();
    } else {
        $("#PrimaryNetworkInt option[value='null']").show();
    }

});
于 2012-09-11T12:48:28.957 に答える
1
jQuery(function () {
    jQuery('#SecondDDList').find("option").each(function () {
        if (jQuery(this).val() == -1 || jQuery(this).val() == "null" ) {
            jQuery(this).attr("disabled", true);
        }
    });
});
于 2012-09-11T16:23:10.770 に答える
0

特定のオプションを無効にするには、そのdisabled属性を設定するだけです。

var SecondDDListChanged() = function(){
    //...
    if ($('#SecondDDList').val()==-1){ //-1 i.e == "AAA" in my example
        $("#optionId").attr("disabled", "disabled");
    } else {
        $("#optionId").removeAttr("disabled", "disabled");
    }
}
于 2012-09-11T16:10:40.263 に答える