循环遍历所有 tr 并验证 jquery 中 td 内的控件
我有一个表,其结构是
<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");
}
});
这给出了链接和标题的未定义!
i have a table whose structure is
<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>
i like to loop through all the tr and check if field_1 and field_2 are empty .
My sample code
$('#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");
}
});
This gives undefined for both link and title !!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,您需要将 ID 更改为类,因为您无法在页面上重复使用 ID。它们必须是独一无二的。
您的代码的主要问题是您尝试对 jQuery 对象使用
.value
。您需要
.val()
来获取来自 jQuery 对象,如
title.val()
中。或者要直接使用
.value
属性,您需要首先从 jQuery 对象中获取 DOM 元素,如title[0].value
中所示。First, you need to change your IDs to classes, since you can not reuse IDs on a page. They must be unique.
The main trouble with your code is that you are trying to use
.value
against a jQuery object.You need
.val()
to get the value of the<input>
from the jQuery object, as intitle.val()
.Or to use the
.value
property directly, you need to get the DOM element out of the jQuery object first, as intitle[0].value
.