我有一个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都是动态的,即,行号随每个文本框附在一起。 我该如何解决这个问题呢?
您不能执行$(“.status_val”),因为这适用于整个页面上的所有statusvalues。
您将需要使用相对搜索,可能是$(this).next().val('evenOdd')
$(".review_val").change(function () {
$(this).next().val(evenodd($(this).val()));
});