2012-06-03 73 views
0

我需要一個html表格,我點擊任意行中的一個值,然後整個行應該展開(向上或向下滑動動畫會很好)我需要在行內插入一個圖表。改變表格行高並在行中添加更多數據

我應該如何使用jquery來做到這一點,我也可能需要將圖表放在單獨的文件中,並將該文件包含在行中的潛水或圖表的一些更好的容器中?

在此先感謝。

+0

我試圖像一個js函數調用的行值的的onclick並且在功能我試圖做$(this).closest('tr')。height('100')。那不行。 –

+0

如果將內容添加到表格單元格,該行將自動展開。不知道爲什麼需要設置高度。您可以添加數據並對該數據執行淡入或滑出。 – lucuma

+0

好的,謝謝你的提示,但我會有一個div中的數據,我會在哪裏放置或將這個div點擊?裏面的列?我希望數據替換該行的現有內容。 –

回答

1

有很多方法可以做到這一點。我的例子使用了一個按鈕,但你可以把click事件放在任何東西上。

http://jsfiddle.net/lucuma/Y4nC8/2/

下面是一個例子

<table> 
<tr><td>Col</td><td>Col</td><td><button>Add stuff</button></td></tr> 
<tr><td>Col</td><td>Col</td><td><button>Add stuff</button></td></tr> 
<tr><td>Col</td><td>Col</td><td><button>Add stuff</button></td></tr> 
<tr><td>Col</td><td>Col</td><td><button>Add stuff</button></td></tr> 
<tr><td>Col</td><td>Col</td><td><button>Add stuff</button></td></tr> 
</table>​ 

JS:

$(document).ready(function() { 
    $('button').click(function() { 
    var $newstuff = $('<div>my data<br />more data <br /> ok good</div>'); 
    $newstuff.appendTo($(this).closest('tr').find('td:eq(0)')).slideDown(); 

    });  
}); 

+0

這與我想要的非常接近,我只想在展開的行上有一個關閉按鈕,它將再次向上滑動並顯示以前的內容。無論如何,請多多指教 –

+0

添加關閉按鈕非常簡單..您只需要$('btn')。click(function(){$(this).closest('div')。slideUp();}) ;' – lucuma