日期:2014-05-16  浏览次数:20626 次

jQuery对repeater中的textbox操作onchange事件 textbox的ID是动态的
HTML code

<asp:ImageButton ID="imgIncrease" runat="server" CommandName="doIncrease" />
                        <input id="Quantity" name='Quantity<%#Eval("Goods_ID") %>' value='<%#Eval("ShopcartD_Quantity") %>'
                            onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;" onchange="getP()"
                            type="text" size="3" maxlength="6" />
                        <asp:ImageButton ID="imgDecrease" runat="server" CommandName="doDecrease" />
                        <asp:HiddenField ID="hfGoods_ID" runat="server" Value='<%#Eval("Goods_ID") %>' />
                        <asp:HiddenField ID="hfShopcart_ID" runat="server" Value='<%#Eval("Shopcart_ID") %>' />



主要想用Jquery写一个方法,在textbox的onchange事件把Goods_ID,Shopcart_ID,ShopcartD_Quantity传到一个单独的专门做ajax操作的页面,但是textbox的ID是动态的

------解决方案--------------------
哪个textbox??Quantity吗?

repeater生成的控件id都是有规律的。你可以获取前面asp.net自动生成的ID值+这个控件的ID值就是这个控件在客户端的实际ID了。得到asp.net自动生成的ID获取同一个ItemTemplate其他的控件就很简单了
------解决方案--------------------
$("input[ID$=Quantity]")
------解决方案--------------------
txtboxid 也可以动态传递到jquery的js中去