Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery的奇偶状态检查器网格视图_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 使用jquery的奇偶状态检查器网格视图

Javascript 使用jquery的奇偶状态检查器网格视图,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个gridview,用户在文本框中输入一些整数,通过使用jquery函数,我必须在同一行的另一个文本框中显示偶数/奇数。请参见示例,网格视图中还有其他列,但我省略了所有列 ID ITEMNAME REVIEW 1 CUBE BOX 4 EVEN 2 G CUBE BOX 7 ODD 3 SHELL BOX 3 ODD 4

我有一个gridview,用户在文本框中输入一些整数,通过使用jquery函数,我必须在同一行的另一个文本框中显示偶数/奇数。请参见示例,网格视图中还有其他列,但我省略了所有列

ID      ITEMNAME        REVIEW      
1       CUBE BOX        4           EVEN
2       G CUBE BOX      7           ODD
3       SHELL BOX       3           ODD
4       G SHELL BOX     8           EVEN 
...
此处REVIEW列包含两个文本框,在第一个文本框中输入整数文本,与该文本对应的偶数/奇数文本将显示在下一个文本框中

<asp:GridView ID="ReviewGrid">
    <Columns>
        <asp:TemplateField HeaderText="S No." ItemStyle-Width="8%">
            <ItemTemplate>
                <%#Container.DataItemIndex+1 %>
            </ItemTemplate>
        </asp:TemplateField>                                        
        <asp:TemplateField HeaderText="REVIEW">
            <ItemTemplate>
               <input type="text" runat="server" id="review_val" class="review_val"/>
               <input type="text" runat="server" id="status_val" readonly="true" class="status_val"/>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

在这里,我使用的是类值,但它没有按预期工作。我需要单独检索每一行的id,但当我检查文本框的元素时,我发现每个文本框的id都是动态的,即每个文本框都附有行号。如何解决此问题?

您不能执行$.status\u val,因为这适用于整个页面上的所有StatusValue

您需要使用相对搜索,可能是$this.next.val'evenodd'

$(".review_val").change(function () {
    $(this).next().val(evenodd($(this).val()));
});
如果文本框位于不同的列中,则需要为文本框指定一个唯一的ID,例如review_2并为文本框指定一个数据属性

data-rowid="2"
那你就可以了

$(".review_val").change(function () {
    var rowId = $(this).data("rowid");
    $("#review_" + rowId).val(evenodd($(this).val()));
});
或者,您可以使用.closesttd查找当前表格单元格,然后使用.next移动到下一个td,并使用选择器查找标签/文本框以设置偶数奇数值


我更喜欢ID选项,因为它不依赖于DOM结构

如果文本框是不同的列,我指的是REVIEW列中的第一个文本框和STATUS列中的第二个文本框。那么我如何检索值呢?
$(".review_val").change(function () {
    var rowId = $(this).data("rowid");
    $("#review_" + rowId).val(evenodd($(this).val()));
});