为了账号安全,请及时绑定邮箱和手机立即绑定

MVC5 根据另一个文本框值动态禁用文本框

MVC5 根据另一个文本框值动态禁用文本框

C#
慕无忌1623718 2022-12-31 12:50:33
我有 MVC5 项目,有 2 个文本框字段(客户端 ID、文档 ID)和一个下拉列表。我想根据文档 ID 值动态启用或禁用客户端 ID 文本框和下拉列表,例如,如果我在文档 ID 文本框中写了一些东西,我希望看到客户端 ID 文本框和下拉列表被禁用,如果我从文档 ID 文本框中删除文本 我希望看到启用的客户端 ID 文本框和下拉列表。到目前为止,我已经进行了研究,老实说,无法找到确切的答案。我读了一些关于 jquery 的东西,但我在 javascript 方面很弱。这是我的代码。我怎样才能达到预期的结果?<span>@Html.DisplayNameFor(model => model.ClientId).ToString():</span>@Html.TextBox("ClientId", Model.Count()>0? Model.FirstOrDefault().ClientId:"", new { @class = "inline" })<span>@Html.DisplayNameFor(model=>model.DocumentIdentificationId).ToString():</span>@Html.TextBox("DocumentIdentificationId", Model.Count() > 0 ? Model.FirstOrDefault().DocumentIdentificationId: "", new {@class = "inline" })<span>@Html.DisplayNameFor(model => model.DocumentType).ToString():</span>@Html.DropDownList("DocumentTypes", new SelectList(documentTypes, "DocType", "DocName"),"", new { @class = "inline" }) 
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

您可以编写一个脚本来执行此操作。


因为@Html.TextBox("ClientId", Model.Count()>0? Model.FirstOrDefault().ClientId:"", new { @class = "inline" })会生成一个 id = ClientId 的输入标签


您可以根据需要使用 change 事件或 keyup 事件。


$("#ClientId").keyup(function(){

   if($(this).val() != ""){

      $("#DocumentIdentificationId").attr("disabled", "disabled"); 

      $("#DocumentTypes").attr("disabled", "disabled"); 

   }else{

      $("#DocumentIdentificationId").prop("disabled", false); 

      $("#DocumentTypes").prop("disabled", false); 

   }

})

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

   <input type="text" id="ClientId" />


   <input type="text" id="DocumentIdentificationId" />


    <select id="DocumentTypes">

       <option>Test<option>

    </select>


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信