【发布时间】:2014-11-27 07:47:57
【问题描述】:
基本上我有一个这样的项目表:
<table id="items">
<th>Description</th><th>Qty. In Stock</th><th>Qty. To Issue</th>
<tr><td>description of item</td><td>1</td><td><input type="text" class="qtyissued"></td></tr>
<tr><td>item</td><td>3</td><td><input type="text" class="qtyissued"></td></tr>
</table>
表格采用 jQuery 模态形式。用户在要从当前库存数量发出的项目的文本框中输入数量。我有验证可以阻止他们输入 0 或超过可用数量。
如果它包含无效数字,我想要做的是在文本框中添加一个类,例如0. 我试过做
$('.qtyissued').closest('.qtyissued').addClass('ui-state-error');
$('#items').closest('tr').find('td:eq(0)').addClass( "ui-state-error" );
$('.qtyissued').closest('input:text').addClass('ui-state-error');
但它们都不起作用,我知道我可以使用 $('.qtyissued).addClass('ui-state-error'); 但这会将类添加到所有输入框,甚至是有效的输入框。
我在模态表单中单击按钮时调用该函数,然后调用:
var qty = $(this).closest('tr').find('td:eq(2)').text();
if(qtyissued == "" || qtyissued== 0 || qtyissued> qty) {
$(".qtyissued").each(function(){
if($(this).val()=='0'){
$(this).addClass("ui-state-error")
}
})
updateError( "Please enter a valid quantity"); //Function to add error message
}
有没有办法只能将类添加到无效的文本框中。
【问题讨论】:
-
你能做jsfiddle吗
-
$('.qtyissued').closest('input:text')表示最近的父元素,输入不能有子元素 -
我认为,你有你正在验证的输入的参考。所以,在验证时你可以简单地使用 $(
).addClass('ui-state-error'); -
您想在提交或值更改时检查它
-
我建议您使用 onkeyup 事件并完成您的工作。 $(this).addClass("error") 如果它不满足您的要求。
标签: javascript jquery validation