0

我有一个表格,里面有一张桌子。我正在做类似的事情

function validate(){
var result = true;
$("tr").each(function(){

    if($(this).find(".qty").val()<1||isNaN($(this).find(".qty").val())){
        result = false;
        return false;
    }
    if($(this).find(".pvDetails").text()==""){
         result = false;
         return false;
    }
});

if(result)
    return true;
else
    alert('correct the input values | check your ID or Qty field');
return false;

}

但这也会将我的标头用于验证,因为我的标头定义如下 -

<tr height="50px" bgcolor="#EEE8CD">
                    <th align="left" width="10%">Serial No.</th>
                    <th align="left" width="15%">Variant ID</th>
                    <th align="left" width="20%">Product Detail</th>
                    <th align="left" width="17%">Product Image</th>
                    <th align="left" width="10%">B2B Price</th>
                    <th align="left" width="13%">Quantity</th>
                    <th align="left" width="12%">Total</th>
                </tr>

休息是我的桌身。

如何在使用与我所采用的方法相同的方法时跳过对表头的验证。

4

2 回答 2

1

我认为你的标题的标签名称只是<th>你的表格内容单元格,<td>所以基本的想法是检查你的孩子的标签名称<tr>

   $("tr").children().each(function () {
    if ($(this).prop("tagName") == "td") {
        if ($(this).find(".qty").val() < 1 || !isNaN($(this).find(".qty").val())) {
            result = false;
            return false;
        }
        if ($(this).find(".pvDetails").text() == "") {
            result = false;
            return false;
        }
    }
   });

<tbody>好吧,另一个想法只是像这样只阅读该部分

$("#mytable tbody tr").children().each(function () {

        if ($(this).find(".qty").val() < 1 || !isNaN($(this).find(".qty").val())) {
            result = false;
            return false;
        }
        if ($(this).find(".pvDetails").text() == "") {
            result = false;
            return false;
        }
   });
于 2013-02-13T13:07:14.670 回答
1

将“skipvalidation”类名添加到您不想被验证的任何行。然后将第 3 行修改成这样:

$("tr").not('.skipvalidation').each(function(){ ...
于 2013-02-13T13:07:56.043 回答