使用条件语句将值分配给文本字段,具体取决于另一个文本字段

时间:2015-11-20 13:50:27

标签: javascript c# asp.net-mvc razor

我是多语言编程的业余爱好者,但我有一个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');
            }
        });

我怎样才能解决这个问题?

2 个答案:

答案 0 :(得分:4)

我认为这可以解决问题,获取价值并修剪它以删除空格。然后检查它是否''

$("#solDate").change(function () {
    if ( $(this).val().trim() == '' ) {
        $("#solvedBy").val('');
    } else {
        $("#solvedBy").val('@uName');
    }
});
祝你好运玩得开心!

答案 1 :(得分:3)

您在这里缺少$字符:

if ($("#solDate").length < 1) {

或者,您也可以使用$(this)代替$("#solDate")