Je suis presque nouveau à jQuery ... J'ai trouvé quelques tutoriels/posts expliquant 1. comment cloner une ligne de table (utile pour insérer les détails de la facture): http://forum.jquery.com/topic/validate-will-not-submit-to-server 2. comment utiliser la saisie semi-automatique jQuery UI avec PHP et MySQL (utile pour la récupération des produits à partir d'une table db et éviter tout frappe): http://www.jensbits.com/2010/03/29/jquery-ui-autocomplete-widget-with-php-and-mysql/jQuery UI autocomplete sur plusieurs lignes créées avec la méthode .clone()
Eh bien, jusqu'à maintenant, je peux cloner des lignes de table et je peux obtenir autocmplete travailler sur la première ligne, mais des problèmes surviennent lorsque j'ajoute une autre ligne et je m'attends à ce que le travail de saisie semi-automatique là aussi, trop J'ai trouvé un fil ici dans StackOverflow (http://stackoverflow.com/questions/1492198/jquery-auto-complete- pour-dynami Généré ment-textboxes), mais n'a pas eu la chance d'appliquer à mon cas ...
Et maintenant, le code:
La partie HTML
<table border="0" cellspacing="0" cellpadding="4" class="grid" id="details">
<thead>
<tr>
<th scope="col">Codice</th>
<th scope="col">Nome</th>
<th scope="col">Quantità</th>
<th scope="col">Unità di misura</th>
<th scope="col">Costo U.</th>
<th scope="col">Totale</th>
</tr>
</thead>
<tbody>
<tr id="row_0" class="iterable">
<td><input type="text" name="det_sku_0" id="det_sku_0" class="sku required" /></td>
<td><input type="text" name="det_name_0" id="det_name_0" class="name required" /></td>
<td><input name="det_quantity_0" id="det_quantity_0" type="text" class="required" /></td>
<td> </td>
<td><input name="det_price_0" id="det_price_0" type="text" class="required" />€</td>
<td> </td>
</tr>
</tbody>
</table>
<ul>
<li><a href="javascript:void(0);" id="remove" class="icons icon-0">Rimuovi ultima riga</a></li>
<li><a href="javascript:void(0);" id="add" class="icons icon-new">Aggiungi riga</a></li>
<li><input type="submit" name="button" id="button" value="Salva tutto" /></li>
</ul>
La partie jQuery
function addrow(destination) {
rowcount = parseInt(parent_row.attr('id').replace('row_',''))+1;
clonecopy = destination.clone(true);
clonecopy.attr("class","iterable");
// update numerical suffixes
clonecopy.attr("id","row_"+rowcount);
clonecopy.find('.sku, .name').val('');
clonecopy.find("input[name^='det_sku']").attr({
"name": "det_sku_"+rowcount,
"id": "det_sku_"+rowcount
});
clonecopy.find("input[name^='det_name']").attr({
"name": "det_name_"+rowcount,
"id": "det_name_"+rowcount
});
clonecopy.find("select[name^='det_quantity']").attr({
"name": "det_quantity_"+rowcount,
"id": "det_quantity_"+rowcount
});
clonecopy.find("select[name^='det_price']").attr({
"name": "det_price"+rowcount,
"id": "det_price"+rowcount
});
clonecopy.insertAfter(destination);
$('#det_arrayitems').val(rowcount);
}
$("#add").click(function() {
parent_row = $('#details tbody>tr:last');
addrow(parent_row);
});
$('input.sku').autocomplete({
source: "../json/products.php",
minLength: 2,
select: function(event, ui) {
$(this).parent().siblings().children('input.name').val(ui.item.name);
}
})
J'ai aussi essayé ceci (et quelques autres idées), mais pas de chance
$("#add").live("click", function() {
parent_row = $('#details tbody>tr:last');
addrow(parent_row);
$('input.sku').autocomplete({
source: "../json/products.php",
minLength: 2,
select: function(event, ui) {
$('input.sku').parent().siblings().children('input.name').val(ui.item.name);
}
})
});
S'il vous plaît, pouvez-vous m'aider? Merci ...
Uhm ... La pièce de saisie semi-automatique me manque ici ... J'ai n o difficultés à ajouter des lignes à une table avec jQuery, mais en faisant que la saisie semi-automatique fonctionne pour toutes les lignes créées – Ivan