2010-09-07 6 views
0

J'ai un calendrier montrant l'année complète. en cliquant sur le bouton cela doit mettre à jour mysql et afficher les infos en utilisant ajax et php. il est impossible d'avoir un identifiant unique pour chaque date, comment cela peut-il être fait. le code n'affiche actuellement que la première date ???ajax id avec plusieurs valeurs

var dateClicked = document.getElementById('dateClicked').value; 
var queryString = "?dateClicked=" + dateClicked; 
ajaxRequest.open("GET", "ajaxScript.php" + queryString, true); 
ajaxRequest.send(null); 

<form > 
<button type="button" name="dateButton" id='dateClicked' value='2010-04-05' onclick='ajaxFunction()'>date</button> 
<button type="button" name="dateButton" id='dateClicked' value='2010-05-10' onclick='ajaxFunction()'>date 2</button> 
<button type="button" name="dateButton" id='dateClicked' value='2010-06-16' onclick='ajaxFunction()'>date 3</button> 
</form> 
<div id='ajaxDiv'></div> 

merci Gareth

Répondre

0

Je ne comprends pas la question. Est-ce que quelque chose ne s'affiche pas ou est-ce que certains clics ne fonctionnent pas?

html Les attributs id doivent cependant être uniques. Dans votre exemple, ils sont tous "datés". Vous pouvez faire quelque chose comme ce qui suit avec jquery

$(document).ready(function() { 
    $('button[name=datebutton]').each(function() { 
      $(this).click(function(e) { 

      }); 
     }); 
}) 

pour ajouter un gestionnaire de clic à tous les boutons avec le nom « datebutton ». Vous pouvez également extraire la valeur de l'élément button pour savoir quel bouton a été cliqué.

Vous n'avez donc pas besoin d'identifier explicitement chaque bouton. En effet avoir la valeur l'identifie explicitement. Que diriez-vous de passer votre élément à la fonction javascript?

0

onclick='ajaxFunction(this)' 

alors ajaxFunction sera comme ceci:

function ajaxFunction(el) { 
    var dateClicked = el.value; 
    // rest of your code... 
} 
Questions connexes