web-dev-qa-db-fra.com

attribution de la valeur du code js au champ caché du rasoir mvc

si j'ai à l'intérieur une vue de rasoir déjà définie un champ caché comme

@Html.HiddenFor(m => m.MyHiddenId)

comment puis-je remplir cela à partir du code js en ligne

var someNr = 100;

comment attribuer cette valeur someNr à la propriété m.MyHiddenId?

11
user1765862

Ajoutez un attribut id explicite à @Html.HiddenFor

@Html.HiddenFor(m => m.MyHiddenId, new { id = "hat" }) 

Puis avec jQuery:

var someNr = 100;
$('#hat').val(somNr); 

Pour ceux qui n'ont pas jQuery

document.getElementById("hat").value = somNr;

Selon les réponses ci-dessous, sans id explicite, HiddenFor définira l'attribut id sur MyHiddenId. Donc, cela fonctionnera aussi:

var someNr = 100;
$('#MyHiddenId').val(someNr);

Ou sans jQuery:

document.getElementById("MyHiddenId").value = somNr;
22
Perfect28

MVC donnera à ce champ un identifiant de "MyHiddenId"

Donc, pour Jquery, vous pouvez le définir comme suit:

$("#MyHiddenId").val(someNr);
2
user1641172

Vous devez d'abord assign ID pour vous contrôlez, Par cela vous connaissez le control ID at compile time.

@ Html.HiddenFor (m => m.MyHiddenId, new {id = "MyHiddenId"})

Jquery Code:-

var someNr = 100;

$ ('# MyHiddenId) .val (somNr);

JavaScript Code:-

var someNr = 100;

document.getElementById ('MyHiddenId'). value = somNr;

2
Chetan Sharma

Vous pouvez utiliser:

$(function(){
    var someNr = 100;
    $('#MyHiddenId').val(someNr);
});

Remarque:

  • Il est préférable d'effectuer l'affectation dans le document prêt comme ci-dessus. De cette façon, ce n'est pas important où vous mettez le code ci-dessus, et c'est suffisant pour être après avoir référencé jquery; tandis que si vous utilisez $('#MyHiddenId').val(someNr); directement, il devrait être quelque part après la création de votre balise html sinon il ne peut pas voir le caché.
    Aussi, si la valeur dépend d'une autre valeur ou si la valeur repose sur une demande ajax, la définir dans l'état prêt est recommandée.
  • Puisque vous utilisez l'aide, le caché a l'attribut id = MyHiddenId et vous n'avez pas besoin de le définir manuellement.
1
Reza Aghaei