<table id="GridView1">
<tr>
<th>KeyWord</th>
<th>Identifiers</th>
<th>Values</th>
</tr>
<tr>
<td>
<select >
<option selected="selected" value="Action A">Action A</option>
<option value="Action b">Action b</option>
<option value="Action C">Action C</option>
</select>
</td>
<td>
<textarea >adsasd</textarea>
</td>
<td>
<textarea >dsad</textarea>
</td>
</tr>
<tr>
<td>
<select >
<option value="Action A">Action A</option>
<option selected="selected" value="Action b">Action b</option>
<option value="Action C">Action C</option>
</select>
</td>
<td>
<textarea >asdasd</textarea>
</td>
<td>
<textarea >sdsad</textarea>
</td>
</tr>
</table>
这是js。
var xml = '<?xml version="1.0" encoding="utf-8"?>';
xml = xml + '<Root>';
i=0;
$("#GridView1 tr").each(function () {
$(this).find('td').each (function() {
alert($(this).find('select').val())
alert($(this).find('textarea').val())
});
});
xml = xml + '</Root>'
alert(xml)
我获取了td中的所有值,但也未定义。知道为什么吗?
答案 0 :(得分:2)
您未定义,因为它尝试显示每个td的选择值和textarea值。
要仅显示现有值,只需检查元素是否存在于td:
中if($(this).find('textarea').length > 0) {
alert($(this).find('textarea').val());
}
答案 1 :(得分:1)
$("table").find("td").each(function(){
alert($(this).html());
})
答案 2 :(得分:0)
查找select
中的所有textarea
和tr
,而不是td
,如下所示。
$("#GridView1 tr").find('select, textarea').each(function () {
alert(this.value);
});