如何在ajax调用后使按钮工作

时间:2017-09-30 13:18:17

标签: javascript php jquery html ajax

在我的项目中,我使用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看不到这些更改?

我不知道,谁能帮助我?

2 个答案:

答案 0 :(得分:1)

问题可能出在.remove()方法上 jQuery文档说.remove()从DOM中获取元素,因此您要删除#dlgSea ...

答案 1 :(得分:0)

您是否说要在返回结果后从#seaStBt中删除click事件?如果是这样,我相信你可以这样做:

$('#seaStBt').unbind('click');