3

チェックボックスを選択すると、ドロップダウン値が表示されます。ただし、以下のコードでは、ドロップダウンに存在するすべての異なるアイテムが直接表示されます。

どういうわけか@Html.DropDownListForがselectタグ内で機能していません。誰かがそれを修正するのを手伝ってくれませんか?

注:チェックボックスの切り替えは完全に機能します。

ありがとうございました、

.cshtml

<input type="checkbox" /> 
<p>check this box to escalate</p>          
<select disabled="disabled">    
@Html.DropDownListFor(
    model => model.EscalationQueue,
        new SelectList(Extensions.EscalationQueue, Model.EscalationQueue),
          new { @class = "escalation-queue", name = Model.EscalationQueue }
)  
</select>

.jsファイル

var dropdownToggle = function () {
    $("input:checkbox").change(function () {
        if ($("input:checkbox").is(":checked")) {
            $("select").removeAttr("disabled");
        }
        else {
            $("select").attr("disabled", "disabled");
        }
    });
}

$(document).ready(function () {
    dropdownToggle();
});

出力:

CurrentOutput1

CurrentOutput2

4

1 に答える 1

4

タグは必要ありません。<select>タグHtmlHelper DropDownListForがレンダリングされます。ドロップダウンを無効として初期化する場合は、cssclassを宣言する場合と同じようにhtml属性を設定します...

<input type="checkbox" /> 
<p>check this box to escalate</p>  
@Html.DropDownListFor(
        model => model.EscalationQueue,
        new SelectList(Extensions.EscalationQueue, Model.EscalationQueue),
        new { @class = "escalation-queue", 
                name = Model.EscalationQueue, 
                disabled= "disabled" 
         }
)  
于 2012-06-15T00:53:00.363 に答える