当我尝试更改placeholder
元素的input
属性时,它已成功完成。如果我将其更改为MVC中的textboxfor
或textareafor
元素,即使我使用@placeholder
或仅使用placeholder
,它也无效。这是我使用的块
<div class="form-group">
<input type="email" class="form-control" name="mail" value="" placeholder="Email"/>
</div>
此属性随此功能而变化。
$(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
属性。
<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
答案 0 :(得分:2)
鉴于您没有为元素指定id
属性,它将采用所提供模型的属性名称,因此您需要使用$('#Email')
,而不是{{ 1}},在你的jQuery代码中。
或者,您可以在$('#mail')
选项中提供id
:
TextBoxFor