2016-02-03 30 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

相关问题