ajax具有多个值的相同id

时间:2010-09-07 16:07:09

标签: java ajax

我有一个显示全年的日历。点击按钮,这需要更新mysql并使用ajax和php显示信息。如何为每个日期创建一个唯一的ID是不切实际的。代码目前只显示第一个日期???

    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>

感谢Gareth

2 个答案:

答案 0 :(得分:0)

我不明白这个问题。是什么东西没有显示或点击不起作用?

但是,

html id属性必须是唯一的。在您的示例中,它们都是“dateClicked”。您可以使用jquery

执行以下操作
$(document).ready(function() {
    $('button[name=datebutton]').each(function() {
            $(this).click(function(e) {

            });
        });
 })

向所有名称为“datebutton”的按钮添加点击处理程序。您还可以从按钮元素中获取值,以了解单击了哪个按钮。

因此您无需明确标识每个按钮。实际上,值明确地标记它。

答案 1 :(得分:0)

如何将元素传递给javascript函数?

onclick='ajaxFunction(this)'

然后ajaxFunction将是这样的:

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