<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中的所有值,但也没有定义。知道为什么吗?
发布于 2016-02-04 13:17:05
因为它试图显示每个td的select值和textarea值,所以没有定义。
要只显示现有的值,只需检查元素是否存在于td中:
if($(this).find('textarea').length > 0) {
alert($(this).find('textarea').val());
}发布于 2016-02-04 13:21:20
Demo
$("table").find("td").each(function(){
alert($(this).html());
})发布于 2016-02-04 13:21:12
在select和textarea中查找tr中的所有内容,而不是td,如下所示。
$("#GridView1 tr").find('select, textarea').each(function () {
alert(this.value);
});https://stackoverflow.com/questions/35201962
复制相似问题