11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

A l'intérieur d'une fonction, j'ai ce petit script jQuery qui devrait récupérer les value des checkbox cochées et les mettre dans un tableau, qui incrémente à chaque passage (avec la variable i)

$("input:checked").each(function (compt) {
	idChecked\[compt\] = $(this).attr("value");
	alert(idChecked\[compt\]);
});


L'alert ne s'affiche pas, ni rien du tout, donc rien ne doit marcher (peut-être le this...?) Smiley bawling
Modifié par Asahi (11 Jun 2009 - 16:01)
j'aurais dit, mais je ne garanti pas le fonctionnement ^^

var idChecked=new Array();
$("input:checked").each(function (box) {
	idChecked.push(box.val());
});
Merci Smiley smile

J'ai testé, ainsi que certaines variantes, mais cela ne marche pas : i (ou box) est un chiffre qui s'incrémente à chaque passage à l'intérieur de la fonction... (à ce que j'ai compris en faisant des essais)

Je rectifie néanmoins:

$("input:checked").each(function (box) {
	alert('truc');
	idChecked\[box\] = $(this).attr("value");
	alert(idChecked\[box\]);
});


alert('truc') s'affiche une fois (seulement, même si plusieurs checkbox sont cochées).
Modifié par Asahi (11 Jun 2009 - 14:53)
ah oui en effet autant pour moi je me suis mélangé les pinceaux avec prototype Smiley confused
tiens ça c'est tester et approuver

var idChecked=new Array();
$("input:checked").each(function (box) {
	idChecked\[box\] = $(this).val();
});

Modifié par lapinou_fou (11 Jun 2009 - 15:17)
J'ai oublié de dire que je fonctionne sous jQuery 1.2.5 c'est pour ca qu'il ne reconnait pas input:checked

Donc, je met ca à la place et l'alert marche (une fois) :


var idCheck = new Array();
$("input[@checked]").each(function (i) {
	alert('hihi');
	idChecked\[i\] = $(this).attr("value");
});


Et je crois que mon problème est plus étendu... En fait je génère un tableau avec des checkbox non cochées avec ajax. Et c'est en cliquant sur un bouton d'envoi que cette fonction (et d'autres) est lancée (et je donne ce tableau idChecked au Ajax en plus).
Je vais encore chercher, ca se trouve je ne peux pas faire comme ca...

EDIT : J'ai mis le code à un endroit qui n'était pas bon. Donc ce code marche :


var idCheck = new Array();
$("input[@checked]").each(function (i) {
	idChecked\[i\] = $(this).val();
});


Merci beaucoup ! Smiley cligne
Modifié par Asahi (11 Jun 2009 - 16:00)