1

デフォルトで無効になっているテレリックドロップダウンリストがあります:

        <%= Html.Telerik().DropDownList().Name("YesNo").Enable(false)
        .Items(items => {
            items.Add().Text("").Value("");
            items.Add().Text("Yes").Value("Yes");
            items.Add().Text("No").Value("No");
                })%>                         

誰かが別の Telerik ドロップダウンで「いいえ」を選択したときに有効にしたいと思います。

        <%= Html.Telerik().DropDownList().Name("Validate")
        .Items(items => {
            items.Add().Text("").Value("");
            items.Add().Text("Yes").Value("Yes");
            items.Add().Text("No").Value("No");
                })            
        .ClientEvents(events =>
        {
            events.OnChange("Validate_OnChange");
        })%>      

だから私はこのjqueryメソッドを有効にしようとしましたが、ddlを有効にしていません:

function Validate_OnChange(e) {

if($("#Validate").val() == "No"){
     $('#YesNo').attr('Enable',true);
    }
}

Validate DDL のレンダリングされたマークアップ:

<div class="t-widget t-dropdown t-header" style="width:249px;" tabindex="0">
<div class="t-dropdown-wrap t-state-default">
<span class="t-input">&nbsp;
</span>
<span class="t-select">
<span class="t-icon t-arrow-down">select
</span>
</span>
</div>
<input id="Validate" name="Validate" style="display:none" type="text">
</div>
4

2 に答える 2

1

で試すことができremoveAttrます。

function Validate_OnChange(e) {
   if($("#Validate").val() == "No"){ // Enable
      $("#YesNo").removeAttr("disabled");
   } else { // Disable
      $("#YesNo").attr("disabled", "disabled");
   }
}

更新しました

<%= Html.Telerik().DropDownList().Name("YesNo").Enable(false)
    .Items(items => {
        items.Add().Text("").Value("");
        items.Add().Text("Yes").Value("Yes");
        items.Add().Text("No").Value("No");
            })%>
<%= Html.Telerik().DropDownList().Name("Validate")
    .Items(items => {
        items.Add().Text("").Value("");
        items.Add().Text("Yes").Value("Yes");
        items.Add().Text("No").Value("No");
            })            
    .ClientEvents(events =>
    {
        events.OnChange("Validate_OnChange");
    })%>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

    function Validate_OnChange(e) {
        if ($("#Validate").val() == "No") {
            $("#YesNo").data("tDropDownList").enable();
        }
        else {
            $("#YesNo").data("tDropDownList").disable();
        }
    }

</script>
于 2013-07-25T16:47:48.477 に答える
0

シンプルな JavaScript を使ってみる

function Validate_OnChange(e) {
            var ddlValidate = $find('<%= Validate.ClientID %>');
            ddlValidate.disable();
}
于 2013-07-24T04:15:14.850 に答える