我是多语言编程的业余爱好者,但我有一个MVC模型,这是我的问题:
以下代码100%有效。如果更改了第一个文本框的值,则第二个文本框将用户名作为值。
$("#solDate").change(function () {
$("#solvedBy").val('@uName');
});
My textboxes:
@Html.TextBoxFor(model => model.Solution_Date, new { @id = "solDate", @class = "one", @type = "datetime"})
@Html.TextBoxFor(model => model.Solved_by, new { @id = "solvedBy", @readonly = "true", htmlAttributes = new {@class = "form-control" } })
..和我的C#变量(uName):
@{
var uName = User.Identity.Name.ToString().Substring(3);
}
正如我所说,这完美无缺。问题是,如果删除第一个文本框的值,我想删除用户名。我想出了以下解决方案,但不起作用:
$("#solDate").change(function () {
if (("#solDate").length < 1) {
$("#solvedBy").val('');
}
else {
$("#solvedBy").val('@uName');
}
});
我怎样才能解决这个问题?
答案 0 :(得分:4)
我认为这可以解决问题,获取价值并修剪它以删除空格。然后检查它是否''
:
$("#solDate").change(function () {
if ( $(this).val().trim() == '' ) {
$("#solvedBy").val('');
} else {
$("#solvedBy").val('@uName');
}
});
祝你好运玩得开心!
答案 1 :(得分:3)
您在这里缺少$
字符:
if ($("#solDate").length < 1) {
或者,您也可以使用$(this)
代替$("#solDate")
。