2012-04-18 63 views
0

加載的文件我現在有當前格式的表格:轉移表格單元格的內容到的jQuery

ID Client Info Case Detail Accident Date Case Opened No Days Function 
-- ----------- ----------- ------------- ----------- ------- -------- 

其中包含動態信息被拉出的數據庫。

ID列特別重要,因爲當用戶點擊功能列下的「管理」按鈕時,我需要從此單元中提取數據。

現在這是當用戶點擊「管理」按鈕時運行的代碼。

<script> 
    $(document).ready(function() { 
    $(".manage").click(function() { 
    $('#casesHeading').hide("slow"); 
    $('#casesTable').hide("slow"); 
    $('#results').load('components/manage.php'); 
    }); 
    }); 
</script> 

標題和表被隱藏,頁面「manage.php」被加載到結果div中。

但我只是想知道是否有我無意中將ID單元的內容(每行不同)傳輸到manage.php文件(當前爲空)。

因此,如果用戶點擊與ID單元數據233-CV則該信息將被轉移過入manage.php文件中的一行。希望我有道理。我閱讀了jQuery .find函數,它有一定的意義,但我不知道如何將它合併到這個實例中。

更新1

我試圖完成與此類似http://jsfiddle.net/ZjvAz/ somethng。

更新2

我嘗試下面的代碼,但它似乎並不奏效。

<script> 
    $(document).ready(function() { 
$(".manage").click(function() { 
    var clickedButton = $(this); 
     clickedButton.parent().find(".result").text(
      clickedButton.parent().parent().parent().find('.caseID').text() 
     ); 
    }); 
}); 
</script> 
+0

是否表中的每個按鈕有「管理」的ID? – j08691 2012-04-18 16:10:17

+0

每個按鈕都有類管理它不是一個表格btw只是一個表。 – methuselah 2012-04-18 16:12:51

+0

好的,我看到你已經更正了你的代碼示例。 – j08691 2012-04-18 16:13:17

回答

1

我有我的manage.php文件承擔本案ID作爲參數。它將以諸如manage.php?caseId=123的方式被調用。

如果您可以控制生成的數據,則可以生成所需的信息以進入按鈕。 jquery代碼不需要將DOM遍歷到ID字段。我只想生成表源

<tr> 
    <td class="id">123</td> 
    ... 
    <td class="function"> 
    <button class="manage" onclick="loadManagementPage(123)">manage</button> 
    </td> 
</tr> 

在這樣的事情。如果你無法控制的HTML源代碼,並確實需要導航時,你最好的朋友很可能用closest()其向上導航的DOM。使用此找到行元素tr

對於自我記錄的目的,我沒有使用鏈接這裏

$('.manage').click(function(){ 

    // find the row we are in 
    var $self = $(this); 
    var $row = $self.closest('tr'); 

    // read the id 
    var $idCell = $row.find('td.id'); 
    var caseId = $idCell.text(); 

    // locate an area on the page and dynamically load in some content 
    var $target = $row.find('td.result'); // find the result cell 
    var $target = $('#knownId')   // *OR* find a div with a known id 
    $target.load('manage.php?caseId=' + caseId); 
}); 
+0

我是否正確地認爲你正在加載結果在表格單元格中。如果我想要將結果加載到單獨的div中,那麼該怎麼辦? – methuselah 2012-04-18 16:55:16

+0

我提醒** caseId **,但對話框中似乎沒有任何內容。這是我使用的代碼http://pastebin.com/EbhvpCSD,這是我的表http://pastebin.com/AGSA5AsC的結構。 – methuselah 2012-04-18 17:04:24

+0

對不起,我的錯誤;沒有像'self'這樣的變量,我已經將它修正爲'this' – Cheekysoft 2012-04-19 10:54:08

1

jQuery.load(處理程序(eventObject)傳遞)返回值:jQuery的

描述:綁定事件處理程序的 「負載」 JavaScript事件。

因爲'components/manage.php'不是事件處理程序 - 你在做什麼?

如果您想要從服務器請求數據(同時發送smoe ID給它),您應該閱讀有關jQuery.ajax(url [, settings])函數。

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/load-event/

+0

我試圖完成類似於這個http://stackoverflow.com/questions/9878708/using-jquery-within-the-context-of-an-mysql-table的東西,但是然後將單元格中的值發送到管理器.php文件。 – methuselah 2012-04-18 16:14:18

+0

甚至更​​好:http://jsfiddle.net/ZjvAz/ – methuselah 2012-04-18 16:15:33

+0

OP是指這個加載函數http://api.jquery.com/load/ – Cheekysoft 2012-04-18 16:25:23

相關問題