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?
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;
MVC donnera à ce champ un identifiant de "MyHiddenId"
Donc, pour Jquery, vous pouvez le définir comme suit:
$("#MyHiddenId").val(someNr);
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;
Vous pouvez utiliser:
$(function(){
var someNr = 100;
$('#MyHiddenId').val(someNr);
});
Remarque:
$('#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é.MyHiddenId
et vous n'avez pas besoin de le définir manuellement.