2012-08-14 42 views
0

我正在面對更新和自動刷新我的錶行使用AJAX加載的div中的jQuery的困難。 代碼在一個div加載數據後,從選擇選項的值:AJAX部分如何更新和刷新ajax加載的div中的每一行?

<script type="text/javascript"> 
    function showUser2(str) 
    { 
    <!-- code --> 
    } 
    </script> 

選擇選項部分:

<select name ='country_select' onchange='showUser2(this.value)'> 
    <!-- options --> 
</select> 

加載DIV與所選國家的所有用戶的列表:

<div id='txtHint'></div> 

DIV包含:

標題:

用戶名刪除用戶更改狀態

數據:

奔刪除圖標狀態圖標

最大刪除圖標狀態圖標

代碼:

<div id="otherdiv"> 
<!-- Delete/ Enable user --> 
<ul> 
<li> 
    <?php echo $data[user_name]; ?> 
</li> 
<li> 
    <a href="#" id="<?php echo $data[training_id]; ?>" class="delete_button">X</a> 
</li> 
<li> 
    <a href="#" id="<?php echo $data[training_id]; ?>" class="deassign_training"> 
    <img src='images/on.png' style='border:0;'/> 
    </a> 
</li> 
</ul> 

<!-- Delete/Disable user --> 
<ul> 
<li> 
    <?php echo $data[user_name]; ?> 
</li> 
<li>    
    <a href="#" id="<?php echo $data[training_id]; ?>" class="delete_button">X</a> 
</li> 
<li> 
    <a href="#" id="<?php echo $data[training_id]; ?>" class="assign_training"> 
    <img src='images/off.png' style='border:0;'/> 
    </a> 
</li> 
</ul> 

當我點擊圖像圖標刪除/啓用/禁用用戶的,則沒有工作。下面是刪除用戶的代碼:我不知道爲什麼它的工作後,選擇一個國家的名字

$(function() 
    { 
    $(".assign_training").click(function() 
    { 
     var id = $(this).attr("id"); 
     var dataString = 'id='+ id ; 
     var parent = $(this).parent(); 

     $.ajax(
     { 
     type: "POST", 
     url: "assign.php", 
     data: dataString, 
     cache: false, 

     success: function(data) 
     { 
      $("#otherdiv").load("index.php"); 
     } 

     }); 
     return false; 
    }); 

    $(".deassign_training").click(function() 
    { 
     var id = $(this).attr("id"); 
     var dataString = 'id='+ id ; 
     var parent = $(this).parent(); 

     $.ajax(
     { 
     type: "POST", 
     url: "deassign.php", 
     data: dataString, 
     cache: false, 

     success: function(data) 
     { 
      $("#otherdiv").load("index.php"); 
     } 

     }); 

     return false; 
    }); 

    }); 

<script src="http://code.jquery.com/jquery-latest.js"></script> 


<script language="javascript" type="text/javascript"> 
    $(function() { 
    $(".delete_button").click(function() { 
    var id = $(this).attr("id"); 
    var dataString = 'id='+ id ; 
    var parent = $(this).parent(); 

    $.ajax({ 
    type: "POST", 
    url: "deleteajax.php", 
    data: dataString, 
    cache: false, 

    success: function(data) 
    { 
     $("#otherdiv").load("index.php"); 
    } 

    }); 

    return false; 
    }); 
    }); 
</script> 

以下的啓用/禁用用戶代碼。我已經嘗試了Stack Overflow和其他很多網站的這麼多技術,但最終無法正常工作。只有在用戶詳細信息直接加載到頁面上時,它纔有效。

我希望我會找到一個有用的答案。

謝謝

+2

我會建議減少代碼量你的問題,找出問題。如果你能夠在http://jsfiddle.net中重現問題,那就更好了! – 2012-08-14 07:31:27

+0

什麼不起作用?你是否說在加載新內容後「assign-training」,「deassign-training」和「delete_button」停止工作? – codef0rmer 2012-08-14 08:01:11

+0

是的,當點擊更新或刪除用戶,然後它不工作。它在工作之前,但隨後其在其他divdi加載整個頁面。 – webdev 2012-08-14 08:10:11

回答

0

據我看到你在DOM創建之前啓動刪除/啓用/禁用事件。 嘗試改變這些塊:

<script language="javascript" type="text/javascript"> 
    $(function() { 
    <!-- YOUR CODE HERE --> 
    }); 
</script> 

到:

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
    <!-- YOUR CODE HERE --> 
    }); 
</script> 

這應該有助於