当我的页面打开时,我调用一个PHP文件并以echo形式输出一个表单。
以下简化示例:
echo "<table id='results'>";
echo "<form method = 'post'><input id='".$row['batchname']."'><button class='btn1'>Query this record</button></form>";
</table>
由于表格行是从数据库中提取的,因此上述表格会有很多版本。
我在AJAX中处理输出:
$(document).ready(function(){
$(".btn1").click(function(e){
e.preventDefault();
var bname = ("#<?php echo $row['batchname'];?>").val();
$post(
"somephp.php",
{name : bname},
function(response, status){
$("#results").replaceWith(response);
}
);
});
});
当我在jQuery中输入非PHP ID
时,AJAX工作但是我总是为每个生成的表单发布第一个返回的行,因为PHP中的ids输出是相同的。我可以像这样将PHP变量回应到jQuery中吗?有没有更好的方法将动态ID
变为jQuery。
答案 0 :(得分:1)
不要像这样黑客攻击,而是妥善处理。
$(".btn1").click(function(e) {
e.preventDefault();
var form = $(this).parents("form");
var value = form.find("input")[0].value; // or something else here
});