提问者:小点点

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


我有一个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>

jquery脚本

$(".review_val").change(function () {
    $(".status_val").val(evenodd($(this).val()));
});

这里我使用的是class value,但它并不像期望的那样工作。 我需要分别检索每一行的id,但当我检查文本框的元素时,我发现每个文本框的id都是动态的,即,行号随每个文本框附在一起。 我该如何解决这个问题呢?


共1个答案

匿名用户

您不能执行$(“.status_val”),因为这适用于整个页面上的所有statusvalues。

您将需要使用相对搜索,可能是$(this).next().val('evenOdd')

$(".review_val").change(function () {
    $(this).next().val(evenodd($(this).val()));
});