从表格单元格中选择文本

问题描述:

使用原生javascript或jQuery,我需要从表格单元格中的select中获取文本。我已经附上了我已经开始工作的代码,几乎可以让我得到我所需要的代码。从表格单元格中选择文本

var tbl = document.getElementById('tblHours'); 
var rowCount = tbl.rows.length; 
var colCount = tbl.rows[0].cells.length; 

for (var i = 0;i<rowCount;i++) { 
    var myrow = tbl.rows[i]; 
    for (var j=0;j<colCount;j++) { 
     alert(myrow.cells[j].firstChild.innerHTML); 
    } 
} 

该代码的问题是它让我选择的原始html,我需要知道什么文本实际上被选中。谢谢!

+0

您可以发布您的代码的HTML。 – Murtaza 2012-04-24 09:02:58

切换到jQuery的!

var tbl = $('#tblHours'); 

tbl.find('tr').each(function(){ 
    $(this).find('td').each(function(){ 
     alert($(this).find('select :selected').val()); 
    }); 
}); 

我没有测试代码。只是例如。

+0

哇,这是快!我现在会尝试一下代码,看看会发生什么。谢谢! – Brandon 2012-04-24 09:03:45

+0

完美的作品,谢谢! – Brandon 2012-04-24 09:08:32

+0

很高兴听到它) – 2012-04-24 09:10:06

如果你试图通过这一功能,从它剥离HTML或只使用代码它

function strip(html) 
{ 
    var tmp = document.createElement("DIV"); 
    tmp.innerHTML = html; 
    return tmp.textContent||tmp.innerText; 
} 
+0

我认为你误会了这个问题... – Brandon 2012-04-24 09:04:52

+0

哦,好的,你可以发布什么是你的警报输出 – Jatin 2012-04-24 09:06:14

for (var i = 0;i<$('#tblHours tr').length;i++) { 
    var myrow = $('#tblHours').find('td'); 
    for (var j=0;j<myrow .length;j++) { 
     alert(myrow.text()); 
    } 
} 

对于HTML所选择的选项选择参考:http://api.jquery.com/selected-selector/

试试这个代码(未测试):

var tbl = document.getElementById('tblHours'); 
var rowCount = tbl.rows.length; 
var colCount = tbl.rows[0].cells.length; 

for (var i = 0;i<rowCount;i++) { 
    var myrow = tbl.rows[i]; 
    for (var j=0;j<colCount;j++) { 
     alert($(myrow.cells[j]).find('select :selected')); 
    } 
} 
+0

这个解决方案的工作也一样:)只有原因,我与另一个是因为它不结合原始和jQuery。感谢您的输入! – Brandon 2012-04-24 09:14:37