2014-03-30 23 views
0

我想將我的ajax調用成功的結果顯示到我的表單的前一個div。成功顯示前一個選擇器的結果

- 我的div來更新

<div id="data"> </div> 

- 我ajaxbutton

<div id='ajaxbutton'> 
     <input type="submit" name="yt0" value="Update Data" id="yt0" /> 
    </div> 

我的jQuery

jQuery('body').on('click','#yt0',function(){jQuery.ajax({'type':'POST', 
        'success':function(string){ 
          var $thisClicked = $(this); 
          $(this).prev().html(string).slideDown(2000); 

...

所以,當我按一下按鈕,什麼也沒有發生,它不適用父母找到選擇器。

我必須添加以下,

  1. 當我使用

    $("#data").html(string).slideDown(2000); 
    

,而不是

 $(this).prev().html(string).slideDown(2000); 

它的工作原理。但我需要充滿活力。

2.我不能使用插入data-id="1"的技術內

<input type="submit" name="yt0" value="Update Data" id="yt0" /> 

,因爲它是一個產生的按鈕

3.了slideDown不起作用

- HTML的上架體部

<body> 

<div class="container" id="page"> 

    <div id="header"> 
     <div id="logo">My Web Application</div> 
    </div><!-- header --> 

    <a href="/blog/index.php/post/16">16</a>  
    <b> Subject:</b> 
     blabla A 
    </br> 
     <div class="formComment"> </div> 
      <p><input type ="button" id="comment16" 
       value="Comment"></p> 
</div> 
<div id="data"> 

</div> 
<div id='ajaxbutton'> 
<input type="submit" name="yt0" value="Update Data" id="yt0" /></div> 

<a href="/blog/index.php/post/17">16</a>  
    <b> Subject:</b> 
     blabla B 
    </br> 
     <div class="formComment"> </div> 
      <p><input type ="button" id="comment18" 
       value="Comment"></p> 
</div> 
<div id="data"> 

</div> 
<div id='ajaxbutton'> 
<input type="submit" name="yt1" value="Update Data" id="yt1" /></div> 

</body> 

- div id =「data」將變成div id = data + id_post的數量,這就是爲什麼我需要動力 -

任何幫助嗎?

+0

可以喲向我們展示HTML作爲一個整體,以便我們可以看到結構? – George

+0

也許你用'prev'函數犯了錯誤(你的'data'元素不在'button'之前)。你可以用'id =「data」'把div的全部部分加到按鈕上嗎? – idlerboris

+0

我更新了帖子@idlerboris – trinocle

回答

0

Okey,首先,您不應該在頁面上有多個元素與id(例如data)相同。可能吧,最好使用class

而你的元素data不是前一個按鈕(它是前一個從父按鈕)。你應該使用下面的代碼:

$(this).parent().prev().html(string).slideDown(2000);