如何通过表行循环时拉取值?

时间:2011-02-01 18:17:03

标签: javascript jquery html

我有一个表,我正在循环,并希望从每行的列中提取值。我该怎么做?

    $('#buildingList tr').each(function () {
        //check each column in the row and get value from column 3 which is a drop down
    });    

<table id="buildingList"> 
<tr> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">
<select id="ddl">
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select> 
</td> 
</tr> 
<tr>  
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">
<select id="ddl">
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select> 
</td> 
</tr> 
<tr> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">
<select id="ddl">
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select> 
</td> 
</tr> 
</table> 

4 个答案:

答案 0 :(得分:1)

使用:selected选项并使用each循环中元素的值:

$('#buildingList td select option:selected').each(function(i, el) {
    // Do something with $(el).val() or el.value
});

答案 1 :(得分:0)

$('#buildingList tr td:nth-child(3) select option:selected').each(function () {
    var myValue = $(this).text();
});

为合并版本编辑

答案 2 :(得分:0)

取决于你想要对值做什么。如果要将它们存储在数组中,可以通过以下方式执行:

var values = [];
$('#buildingList tr select').each(function (index, elem) {
    values.push(elem.value);
});

另请注意。您有多个具有相同ID的<select>元素。 id属性应该是唯一的。

答案 3 :(得分:0)

您可以使用以下方法直接获取每行第3列中的下拉列表:

$('#buildingList tr td:eq(2) select').each(function () {    
  var dropDown = $(this); //this refers to the DOM Select
});