我有一个包含所有行输入的表,我需要检查所有输入是否都填充了值 我尝试使用选择器 $(“[id $ ='txtBarcode']”)来选择以 txtBarcode 结尾的所有输入,但它似乎不起作用。 怎么了?
$(document).ready(function() {
$("#cmdConferma").click(function() {
AllFilled();
});
});
function AllFilled() {
$("[id$='txtBarcode']").each(function() {
$this = $(this);
// var value = $("[id$='txtBarcode']").value();
if ($this.value() == '') {
return confirm('are you sure to exit without fill?');
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table_style" cellspacing="0" rules="all" border="1" id="dgrRighe" style="width:100%;border-collapse:collapse;">
<tr>
<td>
<input name="dgrRighe$ctl02$txtBarcode" type="text" value="1" id="dgrRighe_ctl02_txtBarcode" />
</td>
<td>
<input name="dgrRighe$ctl03$txtBarcode" type="text" id="dgrRighe_ctl03_txtBarcode" />
</td>
<td>
<input name="dgrRighe$ctl04$txtBarcode" type="text" id="dgrRighe_ctl04_txtBarcode" />
</td>
</tr>
</table>
<input type="submit" name="cmdConferma" value="exit" id="cmdConferma" class="button" />
答案 0 :(得分:4)
这是因为.value()
不是有效的jquery方法。您需要使用.val()
代替:
if ($this.val() == '')
如果您的目标是获取元素的值,则无需创建元素jquery对象。你可以使用纯JavaScript。我还建议使用trim()
来阻止用户输入空字符:
if (this.value.trim() == '')