2011-02-15 27 views
8

寫一個擴展名爲tablesorter ..雖然它是我第一次嘗試擴展任何js。我有許多<select> s在一行<td> s &需要知道此td所在的列。從td取得列號

當這些選擇中的任何一個選擇值發生變化時,

$('select').change(function(){ 

}); 

我需要獲得此列選擇的是保留坐在設置col爲:

('tr.result > td:nth-child('+col+')').each(function(){ 

有沒有一種方法可以讓我從TD得到這個選擇是? ?

- 我的具體問題 的解決辦法是:

$('select').change(function(){ 

    td = $(this).parent('td'); 

    col = $(td).parent().children().index(td); 

}); 
+0

文檔:http://api.jquery.com/index/ – singles 2012-08-17 13:22:47

回答

7

可以使用index()功能。

col = $(this).parent().children().index($(this)); 
+0

Thanks-看起來正確的,但我已經嘗試過這幾個變種,而且都返回-1。我能想到的唯一問題是,表格分爲&,但改變了:.children('tbody')。不幫忙? – null 2011-02-15 13:46:38

+0

是的,你是對的,當然你需要父母的孩子(`TR`,而不是`TBODY`或`TABLE`)......看到更新 – ReFocus 2011-02-15 13:56:03

5

的cellIndex屬性返回錶行的細胞採集細胞的位置。 w3schools

td.cellIndex 

demo