在我的项目中,我使用seaStBt button
打开搜索对话框。
在确认包含搜索条件的搜索对话框后,我使用AJAX从数据库中获取数据,此数据已成功更新idcCstmRId div
。
这是js代码:
<script>
$(document).ready(function()
{
$('#idcCstmRId').on("dblclick","#bbs td",function(){......});
$('#seaStBt').click(function(){
$('#dlgSea').dialog("open");
});
$('#seaBt').click(function(){
var seaSlt1 = $('#seaSlt1').val();
$.ajax({
dataType:'html',
type:"POST",
url:"get_ajax_csc.php",
data: {seaSlt1:seaSlt1},
success:function(data)
{
$('#idcCstmRId').html(data);
$('#dlgSea').dialog("destroy").remove();
}
});
});
......
}
</script>
这是html代码:
<div id="firDiv">
<?php
echo '<table border=1px style="width:100%" id="bbs">';
.......
?>
<div class="main_title" id="mnTlt">
<input type="button" id="seaStBt" value="search">
</div>
<div id="dlgSea" >
<input type="submit" value="confirm" id="seaBt" />
</div>
<div class="idcCstmRqst" id="idcCstmRId"></div>
这是get_ajax_csc.php代码:
if(isset($_POST['seaSlt1']))
{
include("DB.php");
$seaOne=$_POST['seaSlt1'];
echo '<table border=1px style="width:100%" id="bbs">';
......
}
问题出在从数据库获取数据之前,seaStBt button
显示搜索对话框。但在获取数据并成功更新idcCstmRId div
后,seaStBt button
不再有效。单击seaStBt button
后,搜索对话框不会显示。
也许AJAX会更改DOM,但seaStBt button
看不到这些更改?
我不知道,谁能帮助我?
答案 0 :(得分:1)
问题可能出在.remove()
方法上
jQuery文档说.remove()
从DOM中获取元素,因此您要删除#dlgSea
...
答案 1 :(得分:0)
您是否说要在返回结果后从#seaStBt中删除click事件?如果是这样,我相信你可以这样做:
$('#seaStBt').unbind('click');