我有一个呈现如下的gridview

<table cellspacing="0" cellpadding="4" rules="cols" id="ContentPlaceHolder1_ucstockcount1_GridView1" style="color:Black;background-color:White;border-color:#DEDFDE;border-width:1px;border-style:None;width:100%;border-collapse:collapse;">
    <tr style="color:White;background-color:#6B696B;font-weight:bold;">
        <th scope="col">Sr.no</th><th scope="col">Style</th><th scope="col">Stk Last Mon</th><th scope="col">Stk Received</th><th scope="col">Stk This Mon</th><th scope="col">Change</th><th scope="col">Price</th><th scope="col">Value</th>
    </tr><tr style="background-color:#F7F7DE;">
        <td>1</td><td>T1-34H</td><td>0</td><td>0</td><td>
                            <input name="ctl00$ContentPlaceHolder1$ucstockcount1$GridView1$ctl02$TextBox2" type="text" id="ContentPlaceHolder1_ucstockcount1_GridView1_TextBox2_0" onblur="updatevals(&quot;ContentPlaceHolder1_ucstockcount1_GridView1_TextBox2_0&quot;,0,0,5.00,&quot;ContentPlaceHolder1_ucstockcount1_GridView1_Label1_0&quot;,&quot;ContentPlaceHolder1_ucstockcount1_GridView1_Label2_0&quot;)" />

                        </td><td>
                            <span id="ContentPlaceHolder1_ucstockcount1_GridView1_Label1_0">0</span>
                        </td><td>5.00</td><td>
                            <span id="ContentPlaceHolder1_ucstockcount1_GridView1_Label2_0">0</span>
                        </td>
    </tr><tr style="background-color:White;">
        <td>2</td><td>T1-43B</td><td>0</td><td>0</td><td>
                            <input name="ctl00$ContentPlaceHolder1$ucstockcount1$GridView1$ctl03$TextBox2" type="text" id="ContentPlaceHolder1_ucstockcount1_GridView1_TextBox2_1" onblur="updatevals(&quot;ContentPlaceHolder1_ucstockcount1_GridView1_TextBox2_1&quot;,0,0,5.00,&quot;ContentPlaceHolder1_ucstockcount1_GridView1_Label1_1&quot;,&quot;ContentPlaceHolder1_ucstockcount1_GridView1_Label2_1&quot;)" />

                        </td><td>
                            <span id="ContentPlaceHolder1_ucstockcount1_GridView1_Label1_1">0</span>
                        </td><td>5.00</td><td>
                            <span id="ContentPlaceHolder1_ucstockcount1_GridView1_Label2_1">0</span>
                        </td>
    </tr>


我使用以下代码在客户端提取值。

function updatea(grid) {
$('#' + grid + ' tr').each(function (i) {
    var style = "";
    var lastmon = 0;
    var received = 0;
    var thismon = 0;
    var change = 0;
    var price = 0;
    var value = 0;
    $(this).children('td').each(function (j) {
        if (j == 2) {
            style = $(this).html();
        } else if (j == 3) {
            lastmon = $(this).html();
        } else if (j == 4) {
            received = $(this).html();
        } else if (j == 5) {
            thismon = $(this).children('input').val().trim();
            alert(thismon);
        }
        //            else if (j == 6) {
        //                change = $(this).children('span').val().trim();
        //                alert(change);
        //            }
        //            alert($(this).html());
    });
});


}

直到第4列,我都能够根据需要获取值,但是当我需要提取第5列内的文本框的值时,出现错误TypeError:$(...)。children(...)。val(。 ..)未定义

我已经从Traverse html table using jQuery中获取了代码

请帮忙。谢谢

最佳答案

each()中的索引从零开始,第五个TD没有输入,第四个TD具有:

} else if (j == 4) {
    thismon = $(this).children('input').val().trim();
    alert(thismon);
}

09-28 13:15