2016-03-28 16 views
0

フォームにテキストボックスとドロップダウンがあります。ドロップダウンから "MessageDate"項目を選択すると、テキストボックスは無効になります。MVC4ドロップダウンリスト項目の選択時にテキストボックスを無効にする

ViewBag.dd_search = dd_search; 
switch (dd_search) 
{ 
... 
case "msgDate": 
    modelml = modelml.Where(m => m.Message_Date == Convert.ToDateTime(searchText)).ToList(); 
break; 
} 

ビュー:

<div class="col-md-2"> 
@Html.TextBox("searchText", ViewBag.searchText as string, new { @class = "form-control" })        
</div> 
<div class="col-md-2"> 
@Html.DropDownList("dd_search", new SelectList(EBA_AJAX.ViewModels.DropDown.DD_Message_Search(), "Value", "Text", ViewBag.dd_search), "--Select--", new { @class = "form-control" }) 

</div> 

のjavascript:messageDateの値はコントローラ

コントローラにViewbagに格納され

<script> 
$('#ddsearch').change(function() 
{ 
    if ($(this).attr('@ViewBag.dd_search') == "msgDate") 
    $("#txtsearch").attr('disabled', 'disabled'); 
    else 
    $("#txtsearch").removeAttr('disabled'); 
}); 
</script> 

を私は参考のためthisポストを使用しています依然として所望の出力を得られない。助けてください。ありがとう。

+0

あなたがViewBagを参照してくださいなぜ、私は知りません。 dd_search属性をイベント比較の@で置き換えます。@を削除して試してください。 – Bardo

答えて

0

このコードをあなたのコードに置き換えてください。あなたがHTMLでid属性を使用していない私のマシン上で動作し、JS内であなたのアクセスが動作しない理由がうまくいくことを望みます。
$(ドキュメント).ready(関数(){ $( "FM")。変更(機能()は別として、他の奇妙から{

  if (Your Condition) 
       $("#txtsearch").attr("disabled", "disabled"); 
      else 
       $("#txtsearch").removeAttr('disabled'); 
     }); 
    }); 
</script> 


    <div class="col-md-2"> 
      @Html.TextBox("searchText", "asad", new { @class = "form-control", id = "txtsearch" }) 
     </div> 
<div class="col-md-2"> 
@Html.DropDownList("dd_search", new SelectList(EBA_AJAX.ViewModels.DropDown.DD_Message_Search(), "Value", "Text", ViewBag.dd_search), "--Select--", new { @class = "form-control fm" }) 

</div> 
関連する問題