2016-02-03 59 views
1

首先,我的意圖是有1個js文件,其中有多個ajax調用。我想要這些ajax調用,它們是php文件,它們內部具有相同的js文件,但沒有執行另一個請求,這使得它在任何點擊後運行緩慢。對於多個php ajax調用只使用一個js文件

我的一些主要的PHP文件:

<head> 
    <script src="<?php echo $_SESSION['url'] ?>js/direcinfo.js"></script> 
</head> 
<body> 

    <div class="direcciones"> 
     <a href="javascript:void(0)" id="c_menu_direcciones" class="c-menu c_menu_direcciones"> 
      <p> 
       Direcciones 
      </p> 
     </a> 
    </div> 
    <div id="cuenta_menu_direcciones" class="c-menu-content"> 
     <h1>Direcciones de correo</h1> 
     <div id="expand_wrapper_dir"> 
     </div> 
    </div> 
</body> 

JS文件(direcinfo.js):

$('#c_menu_direcciones').click(function(){ 
    $.ajax({ 
     dataType: "html", 
     type: "POST", 
     url: "direcalias.php", 
     success: function(cntnt){ 
     $("#expand_wrapper_dir").html(cntnt); 
    } 
    }); 
    return false; 
}); 

$(".alias-dir-a").click(function(){ 
    var useremail=$("#useremail").val(); 
    var alias=$(this).html(); 
    if(alias==="+") 
    { 
     $.ajax({ 
      dataType: "html", 
      type: "POST", 
      url: "direcnew.php", 
      data: "email="+useremail, 
      success: function(cntnt){ 
       $("#direc-content").html(cntnt); 
      } 
     }); 
     return false; 
    } 
}); 

阿賈克斯加載文件(direcalias.php

<?php 
    session_start(); 
    header("Content-Type: text/html; charset=ISO-8859-1"); 
    include_once 'connection.php'; 
    $conn = bbddconnect(); 
    $email=$_SESSION['useremail']; 
    $query = "SELECT CODIDIR,ALIAS" 
      . " FROM CLIENTE C,DIRECCION D" 
      . " WHERE EMAIL LIKE '$email' AND C.CODICNT = D.CODICNT;"; 

    $result3 = mysqli_query($conn,$query)or die(mysqli_error()); 
    $recount = mysqli_num_rows($result3); 
    echo '<div class="menu-alias madir">'; 
     for($i=0;$i<$recount;$i++) 
     { 
     $row = mysqli_fetch_array($result3); 

    echo '<div class="alias adir ali-'.$i.'"> 
     <a href="javascript:void(0)" class="alias-dir-a">'.$row['ALIAS'].'</a> 
    </div>'; 

     } 

    echo '<div class="alias adir ali-nuevo"> 
     <a href="javascript:void(0)" class="alias-dir-a">+</a> 
    </div> 
    </div> 
    <div id="direc-content"></div>'; 

    //echo '<script>'. 
    //   'var url = "'.$_SESSION['url'].'js/direcinfo.js";'. 
    //   '$.getScript(url);'. 
    // '</script>'; 

?> 

我的問題是,當調用direcalias.php文件時,我需要再次調用js文件(編輯後的pa rt),因爲如果我沒有,它不會識別當我點擊$(".alias-dir-a").click(function())。我想做什麼?

+2

你可以試試'$( 「#直銷內容」)。在( '點擊', 「.alias-DIR-A」,函數(){' – empiric

+0

謝謝您答案,的確如此,那正是我所尋找的。 – danibg

回答

1

在創建它之前,請撥打.alias-dir-a。您可以使用on方法

$(document).on("click", ".alias-dir-a", function() { 

    var useremail=$("#useremail").val(); 
    var alias=$(this).html(); 
    if(alias==="+") 
    { 
     $.ajax({ 
      dataType: "html", 
      type: "POST", 
      url: "direcnew.php", 
      data: "email="+useremail, 
      success: function(cntnt){ 
       $("#direc-content").html(cntnt); 
      } 
     }); 
     return false; 
    } 
}); 
+0

我會試試它是否有效,謝謝 – danibg

+0

完美的作品。謝謝 – danibg

相關問題