在初次成功点击后,我似乎无法使下面的代码起作用。我尝试了 $.post 和 ajax 都没有成功。首次单击删除任何项目都有效,但后续单击无效
<script>
$(document).ready(function(){
$('[id^="del"]').click(function(){
var valname = $(this).attr('id').split('del_');
/*$.post("delthis.php", {id: ""+valname[1]+""}, function(data) {
$("#dynamic_section").html(data);
});*/
$("#dynamic_section").load('delthis.php', {"id":valname[1]} );
return false;
});
});
</script>
<body>
<div id='static_section'>This is the static section</div>
<div id='dynamic_section' style='border: 1px solid black;'>
<?php
// db connection here
$sql = mysql_query("SELECT * from test_table ORDER BY id");
while ($row = mysql_fetch_array($sql))
{
?>
<p><a href='#' id='del_<?php echo $row['id']; ?>'>Hello <?php echo $row['id']; ?></a></p>
<?php
}
?>
</div>
这是简单的 delthis.php 文件:
<?php
// db connection
//$id = $_POST['id'];
$id = $_REQUEST['id'];
$sql = mysql_query("DELETE from test_table WHERE id = '$id'");
$sql = mysql_query("SELECT * from test_table ORDER BY id");
while ($row = mysql_fetch_array($sql))
$html .= '<p><a href="#" id="del_' . $row['id'] . '">Hello ' . $row['id'] . '</a></p>';
echo $html;
?>
感谢任何帮助/指示。 TIA!
最佳答案
问题是您替换了#dynamic_section的所有内容,因此您必须“重新绑定(bind)”点击事件。试试这个。
<script>
$(document).ready(function(){
function doPost(evt) {
evt.preventDefault();
var valname = $(this).attr('id').split('del_');
$.post("delthis.php", {id: ""+valname[1]+""}, function(data) {
$("#dynamic_section").html(data);
$('[id^="del"]').click(doPost);
});
}
$('[id^="del"]').click(doPost);
});
</script>
祝你好运!
关于php - 初始运行后无法执行 jquery post 或 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224717/