2012-05-15 259 views
0

我需要獲取表格第5列內的文本框的值,並在警報中顯示該值。jquery從表格單元格獲取值

的文本框是具有名稱爲:T [1],T [2],T [3] .......... T [30]

$('#MyTable tr td:nth-child(5)').each(function(index) { 

     var TextBoxValue = $("input[type=text][name^=T]").eq(index).val(); 

    }); 

我的表具有: 10colums和30rows

但它跳過一行,並在警告框中顯示奇數行文本框值。

請幫

回答

2

不完全相信你的標記看起來像或您與.eq(index)片打算,但嘗試了這一點:

$('#MyTable tr td:nth-child(5)').each(function(index) { 

    var TextBoxValue = $("input[type=text][name^=T]", this).val(); 

    console.log(TextBoxValue); 
}); 

我所做的最重要的變化是加入上下文選擇器「, this」。我還刪除了「.eq(index)」部分。

演示在這裏:http://jsfiddle.net/aymansafadi/CpNZV/

+0

非常感謝主席先生,但什麼是.EQ(指數)的問題。爲什麼它不工作? – sqlchild

+0

*技術上*,它沒有錯(因此沒有錯誤信息),但用法沒有意義。根據jQuery文檔,'eq()'函數用於「將匹配元素的集合減少到指定索引處的集合。」所以,假設你在你的each()循環的第7次迭代中,你的原始選擇器將在$(「input [type = text] [name^= T]」)中尋找第7個實例單細胞。 –