MVC4在选择下拉列表项时禁用文本框

时间:2016-03-28 11:36:13

标签: jquery asp.net-mvc asp.net-mvc-4 dropdown viewbag

我的表单上有一个文本框和一个下拉列表。当" MessageDate"从下拉列表中选择项目应禁用文本框。 messageDate的值存储在控制器的Viewbag中

控制器:

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:

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

我使用this帖子作为参考,但仍未获得所需的输出。请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

将此代码替换为您的代码我希望这对您在我的机器上工作没有使用HTML中的id属性以及您在JS中的访问权限,这就是为什么它不起作用。
/>  $(document).ready(function(){             $(&#34; .fm&#34;)。change(function(){

            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>