2011-02-24 16 views
0

我將一些數據格式化爲表格。我想設置一個onclick按鈕,該按鈕將獲得該行中某個TD內的鏈接的URL,然後將結果加載到下面的一行中。這是一行的例子。假設表中沒有ID。獲取​​的密文,並在結果中追加新行

<tr> 
    <td>Title of something</td> 
    <td><a href="link_to_something.html">Link</></td> 
    <td><button onclick="load_file(this.??);">Show Page</button></td> 
</tr> 

JavaScript的需要:

function load_file(,) { 
    // get the url in the second <td> 
    // urlencode the url 
    // append a new <tr><td colspan="3"></td></tr> below 
    // load some_file.php and pass the variable (file_url) and value (urlencoded) using the .load method in JQuery and load the results into the newly appended <td> 
    } 

我已經在JQuery的的.load方法讀了。如果TD沒有ID,是否可以加載結果?

我想我可以爲所有Table元素設置一個ID,如果這證明太沒有ID的困難,但只是試圖保持我的PHP腳本簡單,並與JQuery做「按需」的東西。

回答

1

這裏有各種各樣的例子,你可以使用

你的HTML。注意我給按鈕添加了一個類,並添加了一個類型。

<table> 
<tr> 
    <td>Title of something</td> 
    <td><a href="link_to_something.html">Link</></td> 
    <td><button class='thebutton' type='button'>Show Page</button></td> 
</tr> 
</table> 

你的JS

$('.thebutton').click(function(){ 
    var $this = $(this); 
    var $td = $this.parent('td'); 
    var url = $td.prev().children('a:first').attr('href'); 
    var row = '<tr><td class="data" colspan="3"></td></tr>'; 
    $td.parent().after(row); 

    //var data = getData(); //use whatever method you want - $.post, $.get, $.load 
    var data = 'hello'; 
    $td.parent().next().children('td:first').html(data); 
}); 

http://jsfiddle.net/jomanlk/4d39N/

你需要去改變它加載您的數據無論你想要的方式,但一切工作。

+0

謝謝約翰。要給這個鏡頭並報告回來。 – TDave00 2011-02-24 06:27:51

+0

工程很棒。謝謝! – TDave00 2011-02-24 06:47:36

0

我會建議看一下關於jQuery內置方法遍歷DOM的文檔。這樣你就可以根據它們之間的關係來訪問td,而不是使用特定的id。

http://docs.jquery.com/DOM/Traversing

+0

謝謝。只是在JohnP回答之前查看如何實現.prev()。 – TDave00 2011-02-24 06:48:28