2012-02-08 45 views
0

我有一個顯示數據行的中繼器。我用javascript爲用戶添加了新的行到中繼器。如何將多個gridview行發送到另一個頁面並在repeater中填充這些行?

添加新行時,圖像顯示在其中一個單元格上。單擊該圖像將打開一個新屏幕。

新屏幕能夠搜索記錄。搜索結果顯示在數據網格中。

當用戶單擊任意行時,相同的數據將被添加到父頁面轉發器中新添加的行中。

我希望使這個功能可以一次添加多個資源。 我已經放在每一行和一個按鈕的複選框。按鈕點擊會將所有選中的行添加到父頁面的轉發器中。

你能告訴我如何處理這些多行發送到父頁面時?

我正在使用parent.opener調用並將值傳遞給父頁面。

謝謝

回答

0

您需要將所選行的數據傳回給父級。像jquery這樣的腳本庫可以使它簡單得多。例如,

$('#yourButton').click(function() { 

    var data = []; 
    // Assuming grid is CSS class for the grid and selector is CSS class for checkboxes 
    // that selects rows to copy 
    $('.grid .selector:checked').parents('tr').each(function() { 
     var rowData = []; 
     // slice will ignore first td (assuming that it contains the selector checkbox) 
     $(this).find('td').slice(1).each(function() { 
      rowData.push($(this).text()); 
     }); 
     data.push(rowData); 
    }); 
    // now data will a jagged array - each element will be array of cell values 
    // pass the data back to your opener 
    ... 
}); 

EDIT: 更正小錯字(父母,而不是親本)。 另請參閱this jsfiddle,瞭解我爲您準備的工作示例。

+0

感謝您的回覆,雖然我不是很熟悉jQuery,但我一定會試一試。 – Warrior 2012-02-08 13:06:04

+0

我用你的代碼來解決這個問題,但是當我將快速監視放在數據或rowData數組上時,它說rowData/data是未定義的。 – Warrior 2012-02-09 06:29:38

+0

@Warrior,data/rowData都是局部變量,並且僅在這些相應方法的範圍內。您需要先檢查點擊事件處理程序是否被觸發,等等......在Firebox上使用Firebug(或使用'debugger'關鍵字在腳本中設置斷點並使用Visual Studio(或IE Script)進行調試調試器) – VinayC 2012-02-09 07:51:35

相關問題