2015-08-20 56 views
0

我有一個list與教授的名字。
'每個教授'內部,我有一個sublist與他們教的disciplines。一切都從數據庫中帶來...
當我擴大教授的學科時,我想填補這些學科的表格。
困難的部分是:我需要在正確的時間插入這些學科。
每個學科都有它的ID及其Time。你可以看到Here。起初,這個表格將是空的,只填充班級的時間(例如我只填寫紀律)。動態編輯表td文本

如果你檢查HTML,你會看到我已經有了教授和
學科ID,在data-id=""

在我擴展教授紀律的那一刻教授紀律的時候,我該如何將這些學科插入表格的正確位置。此外,後來我需要在同一個TD領域放置兩三個學科,就像谷歌的議程一樣。
我試圖與JQuery eq()一起工作,但我無法使其工作。

UPDATE 這就是我與JQuery.eq()

$("body").find("table tr td").eq(2).addClass("blue"); 

我能正確地應用這個類,但我怎麼可能會根據學科的時間選擇正確的? (時間將從具有其ID的數據庫中獲取)。

我是否使用Ajax從數據庫中獲取學科的時間?
當我將子列表填充爲自定義屬性(如data-time=""),然後重新使用它填充表格時,是否添加該規則的時間?
是否爲每一行添加一些自定義類?
我做了很多IF的陳述嗎?

+1

只是讓我知道downvote的原因,所以錯誤不會再發生。謝謝。 – PlayHardGoPro

+0

(不是downvoter,但我相當接近成爲一個) - 總是嘗試包括相關的**最小**代碼正確的問題。你有處置所有需要的代碼和片段工具。 P.S:複選框是什麼? –

+0

@ RokoC.Buljan我所做的只是在codepen中,我用'JQuery.eq()'試過的東西不算什麼,我只需要一些幫助來理解如何選擇正確的位置(爲每行添加一個自定義類,做一些if語句..)。當我擴展一位教授時,我會展示他的紀律,對吧?當我擴展第二位教授時,他的學科將發生在桌面上,但是如果複選框被選中,它將「鎖定」那些學科,並且我需要同時顯示這些學科。 – PlayHardGoPro

回答

1

這是混淆你問的。我建議映射標題列名稱,因爲它更容易引用表格單元格...

var $table = $('#myTable'), cols = getColumnNames(); 

// use map function to get an array containing column names 
function getColumnNames(){ 
    var $header = $('thead th', $table); 
    return $header.map(function(){ return $(this).text(); }).get(); 
} 

// now easier to get a table cell, by passing the row and column name 
function getCell($row, colName){    
    var index = cols.indexOf(colName); 
    return $row.find('td:eq(' + index + ')'); 
} 

// loop through rows and choose which cell to process 
function loopThroughRows(){ 

    var $row, $cell, $rows = $table.find('tr'); 

    $rows.each(function(){ 
     $row = $(this); 
     $cell = getCell($row, 'Segunda-Feira'); 
     // do stuff with $cell 
    }); 
} 
+0

謝謝你,我會試試看。 – PlayHardGoPro

+0

我還建議爲每行添加一個時間戳到data-id,這樣在客戶端上執行搜索會更容易,而不是用Ajax請求敲擊數據庫。 – Data

+0

你是說爲每一行添加紀律時間? – PlayHardGoPro