Je me demandais comment j'allais obtenir une valeur d'identifiant pour que je puisse faire quelque chose comme ça, j'ai 2 champs et un div (status).JQuery AJAX utilise VALUE comme clé/id
<input name="item_1" type="hidden" value="1" />
<input type="text" name="date_1" id="dateselect" onchange="check();" />
<div id="status_1">Click on the field above!</div>
<input name="item_2" type="hidden" value="2" />
<input type="text" name="date_2" id="dateselect" onchange="check();" />
<div id="status_2">Click on the field above!</div>
La valeur dans le champ caché sera le même nombre pour goûts de item_x et date_x etc. qui est de 2 ensembles de terrain et il y aurait beaucoup plus! codé avec PHP (objet foreach).
J'ai donc besoin de passer les valeurs de ces champs dans une requête ajax.
date = $("[name='date']").val();
item = $("[name='item']").val();
elm = "#status";
Comment puis-je obtenir le comme var appelé id « 1 » ou « 2 », pour que je puisse faire quelque chose comme
date = $("[name='date_"+id+"']").val();
item = $("[name='item_"+id+"']").val(); or item = id;
elm = "#status_"+id;
Puisqu'il y aura plusieurs de ces mini-dames, faire la même mais pas en même temps, seulement quand on clique dessus. Je peux facilement le faire quand il y en a seulement 1 mais quand il y en a plus de 1 im un peu coincé.
Heres ma version de le faire une fois, je dois un peu comment définir l'ID, il est donc plus définie:
function check(id,elm) {
book = $("[name='date']").val();
var item = '';
if(id === undefined){
item = $("[name='item']").val();
}else{
item = id;
}
if(elm === undefined){
elm = "#status";
}
if(book.length >= 3 && item.length >= 0) {
$(elm).html('<img align="middle" src="images/loading.gif" alt="Checking" /> Checking availability...');
$.ajax({type: "POST",url: "checker.php",data: "date="+book+"&itemid="+item,success: function(msg){
$(elm).ajaxComplete(function(event, request, settings){
if(msg == 'OK') {
$(elm).html(' <img align="middle" src="images/tick.png" alt="Available" /> Available!');
$(elm).next().val(1);
} else {
$(elm).html(msg);
$(elm).next().val(0);}
});
}});
} else {
$(elm).html('');
}
}
Merci pour toute aide
Dans le JavaScript ferais-je simplement: date = $ ("[nom = 'date []']"). val(); item = $ ("[nom = 'item []']"). Val(); elm = "#status []"; – Sickaaron