2015-11-20 3 views
2

Je suis un amateur dans la programmation multi-langue, mais j'ai un modèle MVC à venir, et voici mon numéro:attribution d'une valeur à un champ de texte, dépendant d'un autre champ de texte, en utilisant des instructions conditionnelles

Les travaux de code suivant 100%. Si la valeur de la première zone de texte est modifiée, la deuxième zone de texte obtient le nom d'utilisateur en tant que valeur.

$("#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" } }) 

..et ma C# variable (UNAME):

@{ 
    var uName = User.Identity.Name.ToString().Substring(3); 
} 

Comme je l'ai dit, cela fonctionne parfaitement. Le problème est, que je veux supprimer le nom d'utilisateur si la valeur de la première zone de texte est supprimée. Je suis venu avec la solution suivante, qui ne fonctionne pas:

$("#solDate").change(function() { 
      if (("#solDate").length < 1) { 
       $("#solvedBy").val(''); 
      } 
      else { 
       $("#solvedBy").val('@uName'); 
      } 
     }); 

Comment puis-je contourner ce problème?

Répondre

4

Je pense que cela ferait l'affaire, obtenir de la valeur et l'ajuster pour supprimer les espaces vides. Ensuite, vérifiez si son '':

$("#solDate").change(function() { 
    if ($(this).val().trim() == '') { 
     $("#solvedBy").val(''); 
    } else { 
     $("#solvedBy").val('@uName'); 
    } 
}); 

Bonne chance amusez-vous!

+1

Ceci est plus sûr puisque .trim n'existe pas sur toutes les plateformes: 'var val = $ .trim (this.value) ===" "?" ":" @ UName "; $ ("# solvedBy"). Val (val); ' – mplungjan

+0

Merci, cela fonctionne maintenant. – GeorgiG

3

Il vous manque un personnage $ ici:

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

Sinon, vous pouvez utiliser $(this) au lieu de $("#solDate") aussi.

+0

Merci, c'était le vrai problème. Une telle chose stupide! – GeorgiG