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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
function displayItems(idLeftItem,nbItem,array){
/*
* nbItem : size of array
*
* Role : to 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 getItemID(nbItem, array){
/*
* nbItem : size of array
*
* Role : to get the id of an item in an array
*/
for(var i=0; i<nbItem; i++){
return array[i]['id'];
}
} //end_getItemID
function getItemName(nbLeftItem, itemCollection){
for(var i=0; i<nbLeftItem; i++){
return itemCollection[i]['label'];
}
} //end_getItemName
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 id = $(this).val();
var label = $(this).text();
var item = { "id" : id, "label" : label };
//add items to the end of the table
itemCollection.push(item);
});
displayItems(idLeftItem,nbLeftItem,itemCollection);
//Remove a right item IN A BLOCK
$('#del'+getItemID(nbLeftItem,itemCollection)+idLeftItem).bind("click", function(){
//add to the left list
var generateLeft_2 = '<option value="'+getItemID(nbLeftItem,itemCollection)+'">'+getItemName(nbLeftItem, itemCollection)+'</option>' ;
$('#leftList').append(generateLeft_2);
//remove from the right list
$('tr#'+getItemID(nbLeftItem,itemCollection)+idLeftItem).remove();
});
}//end_if
if(nbLeftItem == 1){
//add on the right list..
$('#rightList').append(generateRight_1);
//Remove a right item
$('#del'+idLeftItem).bind("click", function(){
//add to the left list
var generateLeft_1 = '<option value="'+idLeftItem+'">'+textLeftItem+'</option>' ;
$('#leftList').append(generateLeft_1);
//remove from the right list
$('div#'+idLeftItem).remove();
});
} //end_if
}//end_if
//remove the left item from left list
$leftItem.remove();
initButton();
} //end addPackage |
Partager