我刚开始使用javascript和ajax。所以这可能是一个初学者的问题,但我无法找到合适的解决方案..
我想通过ajax向php脚本发送一个id。到目前为止这个工作正常:(我在互联网上找到了它)
JS:
$(function() {
$(".add_button.click(function() {
var element = $(this);
var test = $("#submitid").val();
var dataString = 'content='+ test;
$.ajax({
type: "POST",
url: "ajax_addlink.php",
data: dataString,
cache: false
});
return false;
});
});
PHP
<form method="post" name="form" action="">
<input type="submit" value="'.$value.'" id="submitid" name="submit" class="add_button"/>
</form>
问题是,我希望在我的页面上有多个按钮,这取决于我的数据库条目(假设我的'test'数据库中有5个条目,也会有5个按钮。)上面的代码不是这是因为所有按钮具有相同的ID。
这就是我解决这个问题的方法:我传递了不同的ID和类:
$i=1;
while($r=mysql_fetch_array($q)){
echo ' <form method="post" name="form" action="">
<input type="submit" value="'.$value.'" id="submitid'.$i.'" class="add_button'.$i.'"/>
</form>';
$i++;
}
和
<?php for ($i = 1; $i <= $max_i; $i++) { ?>
<script type="text/javascript">
$(function() {
$(".add_button<?php echo $i?>").click(function() {
var element = $(this);
var test = $("#submitid<?php echo $i?>").val();
var dataString = 'content='+ test;
$.ajax({
type: "POST",
url: "ajax_addlink.php",
data: dataString,
cache: false
});
return false;
});
});
</script>
<?php } ?>
这实际上有效,但我认为这不是一个非常干净的解决方案,因为那时我有50&lt;脚本&gt; &LT; / script&gt;最后的代码..
任何想法如何以更好的方式做到这一点?
答案 0 :(得分:0)
你的第一条路几乎就在那里。 $(".add_button")
获取类add_button
的所有元素,该代码将所有按钮与事件处理程序绑定。无需使用ID
使用Javascript:
$(".add_button").click(function() {
var dataString = 'content='+ $(this).val();
$.ajax({
type: "POST",
url: "ajax_addlink.php",
data: dataString,
cache: false
});
return false;
});
PHP
<form method="post" name="form" action="">
<input type="submit" value="'.$value.'" class="add_button"/>
</form>