2010-11-16 2 views
0

J'ai environ 50 articles sur mon écran. Chaque ligne est un formulaire qui contient une zone de sélection. Chaque boîte de sélection a le même nom, « permission_action »Comment puis-je lier plusieurs éléments du même nom dans jQuery?

Mon code:

$("#permission_action").change(function() { 
    $.ajax({ 
     type: "PUT", 
     url: this.form.action, 
     data: "permission[action]=" + $("#permission_action").val() 
    }); 
}); 

se fixe uniquement dans la zone de sélection dans la première forme. Je veux lier à tous des articles.

+1

Voulez-vous dire ID? Le nom est une chose, l'identité en est une autre. Si vous avez plusieurs éléments avec le même ID, c'est un problème. C'est un code HTML invalide et vous ne pouvez pas sélectionner plusieurs éléments avec le même identifiant avec jQuery. – Ender

Répondre

5

Utilisez le sélecteur CLASS à la place de l'ID, car l'ID est supposé être un élément unique.

<input class="permission_action" ... /> 

en javascript

$(".permission_action").change(...); 
4

Utilisez une classe au lieu d'une carte d'identité, qui doit être unique.

2

Vous pouvez lier ceux avec le même nom , pas le même ID, comme ceci:

$("select[name=permission_action]").change(function() { 
    $.ajax({ 
     type: "PUT", 
     url: this.form.action, 
     data: {"permission[action]" : $(this).val() } 
    }); 
}); 
Questions connexes