【问题标题】:How to create a disabled textbox in MVC razor view如何在 MVC 剃刀视图中创建禁用的文本框
【发布时间】:2016-01-28 00:10:42
【问题描述】:

我想创建在开始时将被禁用或不可见的文本区域。 有一个下拉列表,在选择最后一个选项时,即其他,它应该启用或使文本区域可见并获取值并在提交时传递给控制器​​。

【问题讨论】:

  • new { disabled = "true"}

标签: c# jquery asp.net-mvc-4 model-view-controller


【解决方案1】:

使用

@Html.TextArea("Name", null, new { disabled="disabled" })

为你:

<div> 
        @Html.TextArea("Name", null, new { disabled="true" })
        @Html.DropDownList("switch", new List<SelectListItem>() { 
    new SelectListItem(){Text="Enable", Value="Enable"},
    new SelectListItem(){Text="Disable", Value="Disable", Selected=true},
   })
    </div>

    <script>

 $(function ($) {

        var dropDown = $("#switch");
        var txtName = $("#Name");

        dropDown.change(function () {
            if (dropDown.val() === "Disable")
            {
                txtName.attr("disabled", true);
            }
            else {
                txtName.removeAttr("disabled");
            }
        })


    })(jQuery)



    </script>

【讨论】:

  • 我想创建在开始时将被禁用或不可见的文本区域。有一个下拉列表,在选择最后一个选项时,即其他,它应该启用或使文本区域可见并获取值并在提交时传递给控制器​​。我认为必须使用 jquery 才能在选择带有 text="Other" 的下拉列表选项时启用它。你能帮我解决这个问题吗?
  • 你添加jquery了吗???添加到标签&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"&gt;&lt;/script&gt;。在我的项目中它可以工作
  • 是的,我忘记添加 jquery 了。现在它可以工作了。谢谢 :-)
  • 我可以隐藏除最后一个选项之外的所有其他选择的文本框吗?
  • 您可以添加许多有价值的项目,并在 jquery 中根据他们的价值选择他们必须做的事情。
【解决方案2】:

您应该隐藏文本区域,而不仅仅是禁用它。你可以做的是添加 html :

@Html.TextArea("Text", null, new { @class="hiddenOptionArea", disabled="disabled" })

并应用类:

hiddenOptionArea {
    display:none
}

另外你最好使用@Html.EditorFor 并为你的模型制作一个模板,这样你就可以在任何需要的地方重复使用你的html - 你可以在这里找到链接:http://rachelappel.com/razor/partial-views-in-asp-net-mvc-3-w-the-razor-view-engine/

【讨论】:

  • 我想创建在开始时将被禁用或不可见的文本区域。有一个下拉列表,在选择最后一个选项时,即其他,它应该启用或使文本区域可见并获取值并在提交时传递给控制器​​。我认为必须使用 jquery 才能在选择带有 text="Other" 的下拉列表选项时启用它。你能帮我解决这个问题吗?
  • 请提供一些代码,以便我可以帮助您解决问题。你的 html 是什么?您需要多次使用它吗?实现取决于你想用这个实现什么;]
  • 我有一个下拉列表,其中有一些选项,如果用户想要的选项不在下拉选择中,我想启用他的文本框,以便用户可以输入他的选择。
【解决方案3】:

你应该尝试这个来创建禁用的 textArea

@Html.TextAreaFor(m => m.property, new { id = "txtId", disabled = "disabled" })

【讨论】:

    猜你喜欢
    • 2011-05-10
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    相关资源
    最近更新 更多