求GridView模版列计算JS代码!

xycit 2009-04-20 06:38:49

<asp:TemplateField HeaderText="数量">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox >
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="规格">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("[T-spec1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox4t" runat="server" Text='<%# Bind("[T-spec1]") %>' ReadOnly="True"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单位">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Width="100px" onfocus="cls()" onblur="res()" Text="请添加"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="税率">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Width="100px" onfocus="cls()" onblur="res()" Text="请添加"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBoxf" runat="server" Width="55px" onkeydown="checkFloat(event)" onfocus="cls()" onblur="res()" Text="0" onkeyup='Cal(this)' ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="checkFloat(event)" onfocus="cls()" onblur="res()" Text="0" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>

动态的输入数量和单价都可以计算总金额!数量有个绑定值!
求JS代码!都发了几回了!!5555需求在变啊··无奈!
...全文
430 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xycit 2009-04-20
  • 打赏
  • 举报
回复
拜谢sohighthesky 兄!
function cal1(_obj) {
var tr=_obj.parentNode.parentNode;

var num=tr.cells[4].firstChild;
var pri=tr.cells[8].firstChild;
tr.cells[9].firstChild.value=(num.value==""?0:num.value)*(pri.value==""?0:pri.value);//文本框为空时当0计算
}最终结果!!
fcxxfcxx 2009-04-20
  • 打赏
  • 举报
回复
学习!!
xycit 2009-04-20
  • 打赏
  • 举报
回复
俺们QQ聊?偶的Q258647260
xycit 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sohighthesky 的回复:]
可以去掉,我说了那是我测试时用的,

没有单价的话怎么计算啊,你的意思是当1来计算?如果是的话,改成这行:tr.cells[9].firstChild.value=(num.value==""?1:num.value)*(pri.value==""?0:pri.value);//
[/Quote]
怎么去掉去掉弹出确定框?我的意思是:数量本来有个默认值也就是数据源给的值在输入单价后就可以计算了!
现在的问题是输入单价后还要再改动数量才能计算
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
可以去掉,我说了那是我测试时用的,

没有单价的话怎么计算啊,你的意思是当1来计算?如果是的话,改成这行:tr.cells[9].firstChild.value=(num.value==""?1:num.value)*(pri.value==""?0:pri.value);//
xycit 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sohighthesky 的回复:]
JScript code
JScript code
function cal(_obj) {
var tr=_obj.parentNode.parentNode;

var num=tr.cells[4].firstChild;
var pri=tr.cells[8].firstChild;
tr.cells[9].firstChild.value=(num.value==""?0:num.value)*(pri.value==""?0:pri.value);//文本框为空时当0计算
}
加在两个要计算的文本框的onkeyup="cal(this)"

那句话测试时用的
[/Quote]
加了啊!一定要先输入单价在输入数量才弹出的确定框才能计算啊!数量有绑定值能直接输入单价就计算吗?能去掉弹出确定框吗?
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复

JScript code
function cal(_obj) {
var tr=_obj.parentNode.parentNode;

var num=tr.cells[4].firstChild;
var pri=tr.cells[8].firstChild;
tr.cells[9].firstChild.value=(num.value==""?0:num.value)*(pri.value==""?0:pri.value);//文本框为空时当0计算
}
加在两个要计算的文本框的onkeyup="cal(this)"

那句话测试时用的

xycit 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sohighthesky 的回复:]
JScript code
function cal(_obj) {
var tr=_obj.parentNode.parentNode;

var num=tr.cells[4].firstChild;
var pri=tr.cells[8].firstChild;alert(num.value+" "+pri.value);
tr.cells[9].firstChild.value=(num.value==""?0:num.value)*(pri.value==""?0:pri.value);//文本框为空时当0计算
}
加丰两个要计算的文本框的onkeyup="cal(this)"
[/Quote]
一定要先数量才能计算啊!能不能不要弹出对话框啊·
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复

function cal(_obj) {
var tr=_obj.parentNode.parentNode;

var num=tr.cells[4].firstChild;
var pri=tr.cells[8].firstChild;alert(num.value+" "+pri.value);
tr.cells[9].firstChild.value=(num.value==""?0:num.value)*(pri.value==""?0:pri.value);//文本框为空时当0计算
}
加丰两个要计算的文本框的onkeyup="cal(this)"
xycit 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sohighthesky 的回复:]
引用 8 楼 sohighthesky 的回复:
不对啊,只有编辑时数量才可以输入啊

我是说按你的GridView的话
[/Quote]
可以把模版列的Label换成TextBox 撒··
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sohighthesky 的回复:]
不对啊,只有编辑时数量才可以输入啊
[/Quote]
我是说按你的GridView的话
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
不对啊,只有编辑时数量才可以输入啊
xycit 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sohighthesky 的回复:]
老大,把代码贴全好吧,直接放到GridView里报错
[/Quote]
额···

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="100%" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("weiyi") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("weiyi") %>' Height="0px" ReadOnly="True" Width="0px"></asp:TextBox>
</ItemTemplate>

</asp:TemplateField>
<asp:BoundField DataField="ponum" HeaderText="PO" NullDisplayText="无" />
<asp:BoundField DataField="T-name1" HeaderText="货品名称" NullDisplayText="无"/>
<asp:BoundField DataField="T-color1" HeaderText="颜色" NullDisplayText="无"/>
<asp:TemplateField HeaderText="数量">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="a" runat="server" Text='<%# Bind("[T-jpcs1]") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="规格">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("[T-spec1]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox4t" runat="server" Text='<%# Bind("[T-spec1]") %>' ReadOnly="True"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单位">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Width="100px" onfocus="cls()" onblur="res()" Text="请添加"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="税率">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Width="100px" onfocus="cls()" onblur="res()" Text="请添加"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<EditItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBoxf" runat="server" Width="55px" onkeydown="checkFloat(event)" onfocus="cls()" onblur="res()" Text="0" onkeyup='Cal(this)' ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="总金额">
<EditItemTemplate>
<asp:TextBox ID="TextBox10" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="c" runat="server" Width="100px" onkeydown="checkFloat(event)" onfocus="cls()" onblur="res()" Text="0" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="备注">
<EditItemTemplate>
<asp:TextBox ID="TextBox12" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox13" runat="server" Height="50px" TextMode="MultiLine" Width="150px" onfocus="cls()" onblur="res()" Text="无"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=".">
<EditItemTemplate>
<asp:TextBox ID="TextBoxd" runat="server" Text='<%#jm(Eval("weiyi").ToString()) %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBoxe" runat="server" Height="0px" Text='<%#jm(Eval("weiyi").ToString()) %>' Width="0px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
sohighthesky 2009-04-20
  • 打赏
  • 举报
回复
老大,把代码贴全好吧,直接放到GridView里报错
xycit 2009-04-20
  • 打赏
  • 举报
回复
能给代码吗?
wuyq11 2009-04-20
  • 打赏
  • 举报
回复
遍历行取值
参考
humin1906 2009-04-20
  • 打赏
  • 举报
回复
查看下运行之后的源文件就可以看到,这些个都是TR,TD,理解了这些.
只要知道这些计算列TD的索引.
如:var row = table.rows[有事件传入];
var cell = row.cells['总金额的索引'];
cell.innerText = "";//这里是计算结果。
xycit 2009-04-20
  • 打赏
  • 举报
回复
怎么米人呢!
yezie 2009-04-20
  • 打赏
  • 举报
回复
http://www.yezie.com/Blog/Content.aspx?id=218&ClassID=8

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧