Bonjour,
Pour la suppression un par un des éléments passés en groupe, j'ai utilisé un tableau associatif. Tout fonctionne mais j'ai un problème de syntaxe.
Voici un bout de mon code :
ligne 74, error : itemCollection[count] is undefined
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89 function displayItems(idLeftItem,nbItem, array){ /* * nbItem : size of array * * Role : browse an array * */ var table = '<div id="'+idLeftItem+'"><table id="table'+idLeftItem+'">'; $('#rightList').append(table); for(var i=0; i<nbItem; i++){ $('#table'+idLeftItem).append('<tr id="item'+array[i]['id']+idLeftItem+'"><th id="item'+idLeftItem+'" style="text-align:left; background:#eee; width:80%;">'+array[i]['label']+'</th><th style="width:20%; text-align:right; background:#eee;"><input type="button" value="X" id="del'+array[i]['id']+idLeftItem+'"/></th></tr>'); } var endTable = '</table></div>'; $('#rightList').append(endTable); } //end_displayItem function addPackage() { //the selected item of leftList var $leftItem = $('#leftList option:selected'); //id of the left item var idLeftItem = $leftItem.val(); //toString of the object left item var textLeftItem = $leftItem.text(); //nb d'option selected var nbLeftItem = $leftItem.size(); //generated code var generateRight_1 = '<div id="'+idLeftItem+'"><table><tr style="text-align:center;"><th colspan="5" style="text-align:left; background:#eee;"><b>'+textLeftItem+'</b></th><th colspan="2" style="text-align:right; background:#eee;"><input type="button" value="X" id="del'+idLeftItem+'"/></th></tr><tr height="10"><td></td></tr><tr><td><b>OS :</b></td><td>Win <input type="checkbox" id="checkWin" checked="checked"/></td><td>Lin <input type="checkbox" id="checkLin"/></td><td>Mac <input type="checkbox" id="checkMac"/></td><td>And <input type="checkbox" id="checkWin"/></td><td>iOS <input type="checkbox" id="checkIOS"/></td></tr><tr height="40"><td></td></tr></table></div>'; var count = 0; var itemCollection = new Array(); //if leftItem has an id if(idLeftItem){ //if size of selected items > 1 if(nbLeftItem > 1){ //store each item selected in the collection $leftItem.each(function(){ var item = { "id" : $(this).val(), "label" : $(this).text() }; itemCollection.push(item); }); displayItems(idLeftItem,nbLeftItem,itemCollection); }//end_if } //Remove a right item IN A BLOCK $('#del'+itemCollection[count]['id']+idLeftItem).bind("click", function(){ alert("2"); //add to the left list var generateLeft_2 = '<option value="'+idLeftItem+'">'+itemCollection[count]+'</option>' ; $('#leftList').append(generateLeft_2); //remove from the right list $('tr#'+itemCollection[count]+idLeftItem).remove(); });
Merci d'avance.
Partager