Comment définir l'ID et l'utiliser de façon dynamique dans mvc 4 rasoir?
J'ai des éléments html dans foreach
. Je ne peut pas déclarer l'ID nom à ceux manuellement.
J'ai utilisé id='ProductSelect_@(item.Id)'
de définir Id:
foreach (var item in Model)
{
<a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
}
Mais, maintenant, j'ai besoin .cliquez sur() fonction pour eash <a>
le lien pour faire mes opérations. Comment écrire cliquez sur la fonction dynamique de l'ID?
J'ai vérifié cela, mais il ne fonctionne pas :
$("#ProductSelect_@(item.Id)").click(function () {
//any operation
});
Edit:
<script>
$(document).ready(function () {
$('.select-link').click(function() {
var id = $(this).attr('data-id');
url = '@Url.Action("SelectThis", "Product")';
var data = { id: '@Model.Id' };
$.post(url, data, function (result) {
if (result.success) {
alert("Thanks");
}
else {
alert("Problem occured...");
}
});
});
});
</script>
Cela cliquez sur la (les) fonctions d'envoyer la demande au contrôleur d'itération compte fois. Quel est le problème dans mon code?
$('a').click();
peut le faire. En fait, votre but n'est pas clair. Pourquoi voulez-vous sélectionner uniquement les id particulier à faire les choses?Par exemple, asume que, de répondre à accepter structure en stackoverflow.com. Idée dont j'ai besoin est similaire, sélectionner n'importe quel élément de réponse de la liste qui s'alignent de façon dynamique.
OriginalL'auteur Jhoon Bey | 2013-01-18
Vous devez vous connecter pour publier un commentaire.
Je voudrais suggérer à l'aide d'attributs.
ensuite en JS...
De cette façon, vous êtes câblé à tous les liens similaires (par exemple,
select-list
) sans une fonction de gestionnaire pour chaque #id.Vérifiez votre code de sortie (HTML). Vous êtes probablement le câblage de la JS que j'ai posté à chaque itération de la boucle. Avec mon code que vous avez seulement besoin d'ajouter que JS UNE FOIS, c'est à dire après la boucle, et puis il va travailler pour tous les liens.
J'ai édité ma question. veuillez voir. code de sortie est à droite. les valeurs de données en ligne de l'id 1, 2, 3. id='ProductSelect_@(item.Id)' fonctionne aussi, mais la, demande est transmise au contrôleur de nombreuses fois (itération)
Ce n'est pas correct encore. vous n'êtes pas à me comprendre. Vous ajoutez que le bloc de script une fois par boucle. Afficher votre code source dans le navigateur. Si vous voyez que le bloc de script plus d'une fois dans la sortie HTML, puis il y a votre problème.
Ok, bien sûr, c'est mon problème. J'ai besoin de sélectionner un seul élément de liens, comme d'accepter de répondre à stackoverflow.com. Lorsque je clique sur un lien, pour envoyer l'id de contrôleur.
OriginalL'auteur Eli Gassert