Javascript 使用jquery的奇偶状态检查器网格视图
我有一个gridview,用户在文本框中输入一些整数,通过使用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
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()));
});