使用javascript计算gridview字段总数并显示在页脚文本框中
为了找出gridview单元格的总数并显示其值,我做了很多工作 页脚文本框。每次我遇到例外:请帮助我某人我做错了什么: 这是一个例外: Microsoft JScript运行时错误:需要对象 *以下是我的gridview代码:*使用javascript计算gridview字段总数并显示在页脚文本框中,javascript,jquery,Javascript,Jquery,为了找出gridview单元格的总数并显示其值,我做了很多工作 页脚文本框。每次我遇到例外:请帮助我某人我做错了什么: 这是一个例外: Microsoft JScript运行时错误:需要对象 *以下是我的gridview代码:* 以下是我的JavaScript代码: <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.js"></script>
以下是我的JavaScript代码:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script>
<script type="text/javascript">
function Calculate(GridView)
{
var total = 0;
var gridview = document.getElementById('<%=Gridview1.ClientID %>').getElementsByTagName("input");
for ( i = 0; i < gridview.rows.length; i ++)
{
var node = gridview.rows[i].cells[3].childNodes[3]; //textbox
if (node != undefined && node.type == "text") //check only textbox, ignore empty one
if (!isNaN(node.value) && node.value != "") //check for valid number
total += parseInt(node.value);
}
// document.getElementById("total").innerHTML = total.toString(); //display
var gridview1 = document.getElementById('<%=grdview1.ClientID %>');
gridview1.rows[gridview.rows.length -1].cells[0].innerHTML=total;
}
函数计算(GridView)
{
var合计=0;
var gridview=document.getElementById(“”).getElementsByTagName(“输入”);
对于(i=0;i
我尝试了很多方法,但每次都得到相同的例外:
Microsoft JScript运行时错误:应为对象
我的JavaScript代码似乎有问题。请有人来帮我解决。你的函数不需要接受对象,因为你没有在JavaScript中使用它,我认为你传递GridView的方式无论如何都不会起作用 我认为如果您利用一些jQuery选择器在DOM中查找所需的元素,您的javascript也会更干净、更容易理解。您可以为要合计的文本框使用一个特殊类,例如:
....
<asp:TemplateField HeaderText="Header 1" HeaderStyle-Font-Bold="false" ControlStyle-Font-Bold="false">
<ItemTemplate>
<asp:TextBox ID="TextBox1" Class="TotalBox" runat="server" Width="70px"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotal" Class="TotalLabel" runat="server" Text="Total" Font-Bold="true"> </asp:Label>
</FooterTemplate>
</asp:TemplateField>
....
。。。。
....
Javascript
<script type="text/javascript">
function Calcutate()
{
var total = 0;
$('.TotalBox').each(function() {
total = parseInt(this.val()) + total;
});
$('.TotalLabel').html(total);
}
</script>
函数计算()
{
var合计=0;
$('.TotalBox')。每个(函数(){
total=parseInt(this.val())+total;
});
$('.totalabel').html(总计);
}
注意到您的标签在模板中,您需要添加一个特殊类来从页脚中提取标签,因为您无法直接按ID提取标签。
<script type="text/javascript">
function Calcutate()
{
var total = 0;
$('.TotalBox').each(function() {
total = parseInt(this.val()) + total;
});
$('.TotalLabel').html(total);
}
</script>