2014-10-09 36 views
0

讓我描述一下我擁有的東西,然後描述我想要的東西。我該如何讓JavaScript中的所有行的列標題啓動javascript?

我有一個用戶表和可以爲此用戶採取的各種操作。每行都有用戶名,然後是幾列操作。

每列都有javascript,它會在單擊時爲特定用戶執行該操作。現在,我需要一個列標題,允許用戶在結果中的所有用戶上執行該操作。

下面是一個例子:

我的結果表:

---用戶的姓名---運行---全部刪除全部---移動所有---

--- John Doe ---------- Run -------- Delete ------- Move ----

--- Jane Doe- ---------運行--------刪除-------移動----

--- Mike SMith --------運行--------刪除-------移動----

每個人都有javascript鏈接上面的行。點擊「運行」將執行相應的操作,同樣點擊「刪除」和「移動」。但是,我希望「全部運行」鏈接執行鏈接在它下面的每個「運行」鏈接中的任務。

是否有可能這樣做?我知道它可以在後面的C#代碼中完成,爲每個結果創建一個大腳本的JavaScript,然後將其綁定到「Run All」鏈接,但是我會想看看是否有可能爲JavaScript啓動它下面的JavaScript在一個表中的列。

感謝您的任何意見!

+1

這張表...它是由HTML製成的嗎?也許你可以分享一些代碼,而不是僅僅描述代碼? – 2014-10-09 20:23:03

+0

\t – Asyranok2014-10-09 20:49:38

+0

它在Html中呈現。它建立在後面的C#代碼中。動態的,所以表格只有在構建時才存在。 - – Asyranok 2014-10-10 14:40:57

回答

0

我提出了幾個假設,在這個例子中:

  1. 的「......所有的」是鏈接而不是按鈕
  2. 的「......所有的」鏈接的第一行桌子。
  3. 鏈接本身在單個單元格中。

必要的調整讓,但我希望以下幫助:

// bind click events to all links in the first row of the table 
$(".dataGridCondensed tr").first().find("a").click(function() { 

    // get the index of the column that holds the clicked link 
    var col = $(this).parents("td").first().index(); 

    // find all the column's in rows after the first row (index 0) with the same index (col), and click the link in that column 
    $(".dataGridCondensed tr:gt(0) td:eq(" + col + ")").find("a").click(); 
}) 

好運。

+0

感謝您花時間幫助我!我也會嘗試這個解決方案。迫不及待地看到結果:) – Asyranok 2014-10-10 14:40:31

0

不知道你正在使用jQuery,但這對於這個用例會有很大的幫助。

//find rows of your table, then for each one 
`$('#myTable tr').each(function(){ 
    var row = $(this); 
    var action = row.find('.classToDenoteTheRunAnchorTag'); 
    action.trigger('click'); 
}); 

你提到了C#,所以我認爲這是ASP.NET。如果它們中的每一個都將通過ajax或其他方式調用服務器,那麼最好使用它調用的單個服務器方法遍歷它們,而不是同時從客戶端發送多個請求。

+0

謝謝,我會問這個。我相信我們可以使用JQuery。將盡快檢查。 – Asyranok 2014-10-09 20:50:44

相關問題