我有一个结构为
的表<table>
<tr>
<td>
<input type="text" id="field_1" />
<input type="text" id="field_2" />
</td>
</tr>
<tr>
<td>
<input type="text" id="field_1" />
<input type="text" id="field_2" />
</td>
</tr>
<tr>
<td>
<input type="text" id="field_1" />
<input type="text" id="field_2" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
我想遍历所有tr并检查field_1和field_2是否为空。
我的示例代码
$('#table-1 tr').each(function () {
var title = $(this).find("input[id*='field_1']");
var link = $(this).find("input[id*='field_2']");
if (title.value == '' || link.value == '') {
alert("empty");
}
});
这为链接和标题提供了未定义!!
答案 0 :(得分:1)
首先,您需要将ID更改为类,因为您无法在页面上重复使用ID。它们必须是独一无二的。
您的代码的主要问题是您正试图对jQuery对象使用.value
。
您需要.val()
从jQuery对象中获取<input>
的值,如title.val()
中所示。
或者直接使用.value
属性,您需要首先从jQuery对象中获取DOM元素,如title[0].value
中所示。
$('#table-1 tr').each(function() {
var title = $(this).find("input[id*='field_1']");
var link = $(this).find("input[id*='field_2']");
if(title[0].value=='' || link[0].value=='') {
alert("empty");
}
});