当前位置:编程学习 > C#/ASP.NET >>

购物车中产品数量的更新

用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>

--------------------编程问答--------------------
引用 6 楼 xiezhongjun 的回复:
输入框
<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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,