购物车中产品数量的更新
用datalist列表显示购物车, 列表中有产品名称,价格,数量和合计等几个字段,而且数量是用textbox显示的,问题是当我手动改变textbox中的值时(产品数量),怎么样让合计(每行都有一个合计价钱总数)的数字自动改变
请高手指点,谢谢
--------------------编程问答-------------------- 在textbox框中,加onblur事件,在事件中更新合计字段 --------------------编程问答-------------------- 用JS就行...
这种效果就是要用到JS去实现
而且用户体验也会很好..
在TEXTBOX加事件,最后做出来的效果,对于客户体验来说没有用JS做出来的好- -!
--------------------编程问答-------------------- 可是应该怎么写呀,最好有源代码的最好 或这方面的例子,也可以发到我的邮箱my_zhaozf@126.com
谢谢各位
--------------------编程问答-------------------- 楼主没学过JS么- -? --------------------编程问答-------------------- 我js不熟悉 --------------------编程问答-------------------- 输入框
<input type="text" id="txt_all" onblur="ValueChange()">
js操作
<script>
function ValueChange()
{
var txt_value_1=document.getElementById(".....").vlaue;
var txt_value_2=document.getElementById(".....").vlaue;
......
//all end
document.getElementById("txt_all").vlaue=txt_value_1+txt_value_2+.....;
}
</script>
--------------------编程问答--------------------
这样写 对GRIDVIEW里面的TEXTBUTTON 无效的吧
不过 这个思路正确的- - --------------------编程问答--------------------
function SelectCheckBox()
{
var GridView1 = document.getElementById("<%=GridView1.ClientID %>");
for(i=1;i<GridView1.rows.length; i++)
{
var T1=GridView1.rows[i].cells[0].getElementsByTagName("TBX_T1")[2];
var T2=GridView1.rows[i].cells[0].getElementsByTagName("TBX_T2")[2];
GridView1.rows[i].cells[0].getElementsByTagName("TBX_ALL")[2] = T1 + T2
}
}
没记错的话应该这么写的。。。 --------------------编程问答-------------------- 公司没编译器 , 在记事本里面写的 , 见谅... --------------------编程问答--------------------
--------------------编程问答-------------------- 我那么写你还不能想出思路?告诉你一个更高级的方法:
<asp:TemplateField HeaderText="数量" SortExpression="Quantity">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" Text='<%# Bind("Quantity") %>' Width="33px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UnitCost" DataFormatString="{0:c2}" HeaderText="单价" HtmlEncode="False" SortExpression="UnitCost" />
<asp:TemplateField HeaderText="小计">
<ItemTemplate>
<asp:Literal ID="Literal1" runat="server" Text='<%# ((decimal)Eval("UnitCost") * (int)Eval("Quantity")).ToString("C2") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
每一行统计的数据时有唯一特性的数据吗?同一编号,同一字段?
那么在更改某一列的数据的时候,用Ajax传到后台,在后面就随便操作了
完了传回来,直接更改所获取的空间框的value,记住!GRIDVIEW任何一列的任何一行都是可以写进去
html控件的。。。。
补充:.NET技术 , ASP.NET