从表格单元格中的select中获取文本

时间:2012-04-24 08:56:54

标签: javascript jquery html

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

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,我需要知道实际选择了什么文本。谢谢!

4 个答案:

答案 0 :(得分:1)

切换到jquery!

var tbl = $('#tblHours');

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

我没有测试代码。仅举例来说。

答案 1 :(得分:0)

如果您尝试通过此功能从中删除html或仅使用其中的代码

,该怎么办?
function strip(html)
{
   var tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent||tmp.innerText;
}

答案 2 :(得分:0)

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());
    }
}

答案 3 :(得分:0)

对于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'));
    }
}