2012-09-19 129 views
-3

我們有如下一個div結構:AJAX後更新DIV內容發佈

<!-- main.php starts --> 
    <div class="main"> 
     <div class="one"> 
     <span class="buttonEdit">EDIT</span> 
     </div> 
     <div class="two">Content</div> 
     <div class="editBox"> 
     <!-- abc.php which is loaded onClick --> 
     <textarea class="editArea"></textarea> 
     <span class="buttonSave">SAVE</span> 
     <!--abc.php ends --> 
     </div> 
    </div> 
<!-- main.php ends --> 

我用jQuery是這樣的:

$(document).ready(function() { 
     //SAVE BUTTON 
     $(".buttonSave").click(function(){ 
      //AJAX SAVE HERE 
      $.post("save.php",function(msg){ 
       var newContent; 
       newContent = $(".editArea").val(); 

       $(this).parents(".main").find('.two').text(newContent); 
      }); 
     }); 

的過程: 在點擊編輯按鈕,一個外部頁面(abc.php)將通過jQuery的加載函數加載到div(class =「editBox」)。 編輯和保存之後,textarea中的內容必須顯示在div中(class =「two」)。

重要有幾個類似的塊和類名相同。 jQuery寫在abc.php這是一個外部文件。在AJAX中可以使用'find'和'this'嗎?

解決方案需要:我們需要jQuery部分。緊急!

上的jsfiddle:http://jsfiddle.net/JerryJones/PacTs/

+0

您應該添加IDS所有塊,你說:「有幾個類似的塊」。
然後用ajax顯示特定塊中的數據。 –

回答

2

試試這個

$.post('ajax.php',function(data){ 

    // write your retrived data here 
    $(".editArea").html(data retrived); 
    //or 
    $(".editArea").val(data retrived); 

} 
+0

你能通過這個更新的問題嗎? –

+0

@JerryJones你得到的錯誤是什麼? –

+0

div中的內容(class =「two」)根本沒有更新! 似乎AJAX部分中的$(this)和.find()存在一些問題。 –

0

這將會是容易得多,如果你給其中的內容變爲一個唯一的ID的部分。

然後可以使用的onClick()上的按鈕來調用JavaScript函數:

function onEdit() { 
    $("#EditBoxID".load('abc.php'); 
} 

function onSave() { 
    $("#ContentID").val($("#EditBoxID").val()); 
} 
+0

你能通過這個更新的問題嗎? –