首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >@placeholder或placeholder属性未被MVC文本框的jquery更改

@placeholder或placeholder属性未被MVC文本框的jquery更改
EN

Stack Overflow用户
提问于 2017-07-11 17:31:20
回答 1查看 252关注 0票数 1

当我尝试更改input元素的placeholder属性时,它成功地完成了。如果我在MVC中将其更改为textboxfortextareafor元素,即使我使用@placeholder或仅使用placeholder,它也不起作用。下面是我使用的代码块

代码语言:javascript
复制
 <div class="form-group">
      <input type="email" class="form-control" name="mail" value="" placeholder="Email"/>
 </div>

此属性随此函数而变化。

代码语言:javascript
复制
$(document).ready(function () {
        $("#change").click(function () {
            debugger;
            $.ajax({
                url: '@Url.Action("ChangeCulture", "Home")',
                data: { cultureCode: $('#change').text() },
                type: "GET",
                dataType: "json",
                success: function (data) {
                    debugger;          
                    $("#person").attr("placeholder", data.Name);
                    $("#mail").attr("placeholder", data.Email);
                    $("#subject").attr("placeholder", data.Matter);
                    $("#message").attr("placeholder", data.Detail);
                },   
            });   
        });
    });

这是问题所在。此函数不会更改textboxfor placeholder属性。

代码语言:javascript
复制
<div class="form-group">
     @Html.TextBoxFor(m => m.Email, new { @class = "form-control", placeholder = "Email" })
     @Html.ValidationMessageFor(m => m.Email, "", new { @class = "error" })
 </div>

jQuery版本为3.1.1,MVC版本为5.2.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-11 17:35:34

假设您没有为元素指定id属性,它将采用所提供模型的属性的名称,因此您需要在jQuery代码中使用$('#Email'),而不是$('#mail')

或者,您可以在TextBoxFor选项中提供id

代码语言:javascript
复制
@Html.TextBoxFor(m => m.Email, new { @id = "mail", @class = "form-control", placeholder = "Email" })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45030631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档