Click here to Skip to main content
15,888,527 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
hi..

i want to multiply two textbox value n wanna show it at label using jquery..but these label are created dynamically...so i cant get label id...how do i execute this total ??

Code:

C#
function Sum() {
          debugger;
          var text1 = document.getElementById('<%=txtRebate.ClientID %>');
          alert(text1.value);
          var text2 = document.getElementById(txtSales).value;
          alert(text2.value);
                if (document.getElementById("txtRebate").value == "" || document.getElementById("txtSales").value == "") {
                document.getElementById("lblRebate").innerHTML = "";
                alert('txtRebate and txtSales should not be empty');
            }
            else
            {

                        var x = parseFloat(text1);
                        var y = parseFloat(text2);
                        document.getElementById("lblRebate").innerHTML = ((x * y)/100).toString();
                }
                }


please help me out...
Posted
Updated 4-Dec-13 22:06pm
v3
Comments
Omprakash Kukana 5-Dec-13 3:32am    
assign a id dynamiclly to the labe and then you can do it easily
Member 10276220 5-Dec-13 3:40am    
label is dynamically created inside a gridview...so how to set id dynamically??
Omprakash Kukana 5-Dec-13 4:01am    
var rowIndex = int.Parse(e.CommandArgument)
GridView1.Rows[rowIndex].FindControl("id")
Karthik_Mahalingam 5-Dec-13 3:35am    
add your code...

Add more information.. pls
Member 10276220 5-Dec-13 3:39am    
this is my code....


function Sum() {
debugger;
var text1 = document.getElementById('<%=txtRebate.ClientID %>');
alert(text1.value);
var text2 = document.getElementById(txtSales).value;
alert(text2.value);
if (document.getElementById("txtRebate").value == "" || document.getElementById("txtSales").value == "") {
document.getElementById("lblRebate").innerHTML = "";
alert('txtRebate and txtSales should not be empty');
}
else
{

var x = parseFloat(text1);
var y = parseFloat(text2);
document.getElementById("lblRebate").innerHTML = ((x * y)/100).toString();
}
}

While creating the Label dynamically, provide a ID.
Otherwise, you can have another new Label declared on the Page for showing the Total.

Unless you do any of the above, it is impossible to assign value to a Label.
 
Share this answer
 
set the id of labe which is dynmially created:
C#
Label.ID = "Label_total"

now you can put the value in this label
Label ot = new Label();
        ot.Text = "45";
        ot.Style.Add("align", "left");
        ot.Style.Add("FontSize", "20px");
        Controls.Add(ot);
 
Share this answer
 
v2
Comments
Member 10276220 5-Dec-13 3:47am    
hi Omprakash Kukana...

thanx to ufor helping me...but this is not working...
Hi
Try this code.
Written in JQuery..


XML
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="POC.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="jquery-1.10.2.js" type="text/javascript"></script>
    <title></title>
    <script type="text/javascript">

        function Sum(thisctrol) {


            var $row = $(thisctrol).parent().parent();
            var Rebate = $("[id*='txtRebate']", $row).val();
           var Sales = $("[id*='txtSales']", $row).val();

            if (Rebate == '' || Sales == '') {
                alert('txtRebate and txtSales should not be empty');
                $("[id*='lblRebate']", $row).html('');
            }
            else {
                var x = parseFloat(Rebate);
                var y = parseFloat(Sales);
                $("[id*='lblRebate']", $row).html((x * y) / 100);
            }
        }

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:GridView ID="gv" runat="server">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:TextBox ID="txtRebate" onchange="Sum(this)" runat="server"></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:TextBox ID="txtSales" onchange="Sum(this)" runat="server"></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Label ID="lblRebate" runat="server" Text="..."></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>




    </form>
</body>
</html>
 
Share this answer
 
v2
Comments
Member 10276220 5-Dec-13 4:03am    
thanx karthik mahalingam for helping me...but sales id i.e. "txtSales" is dynamically created...so i cant get the proper id...amd this code gives a error...
Karthik_Mahalingam 5-Dec-13 4:12am    
check the html source for txtsales and post the name or id.. we can modify the jquery as per it.
Member 10276220 5-Dec-13 4:40am    
this is gridview design:

<asp:GridView ID="grdview" runat="server" AutoGenerateColumns="false"
ShowFooter="true" Width="600px" OnRowDataBound="grdview_RowDataBound"
onrowcommand="grdview_RowCommand" >

<columns>

<asp:TemplateField HeaderText="Member Name">
<itemtemplate>

<asp:TextBox ID="txtmember" runat="server" CssClass="abc" AutoPostBack="true" onkeyup="automember(this)">



<asp:TemplateField HeaderText="Sales Amount">
<itemtemplate>
<asp:TextBox ID="txtSales" runat="server" CssClass="txt" OnChange="Sum()">



<asp:TemplateField HeaderText="100% Rebate">
<itemtemplate>
<%--<asp:TextBox ID="txtRebate" runat="server">--%>
<asp:Label ID="lblRebate" runat="server">

<footerstyle horizontalalign="Right">
<footertemplate>




<asp:TemplateField>
<itemtemplate>

<asp:Button ID="btnfmadd" runat="server" CommandName="Add" Text="+" Height="30px" Width="30px"
/>
<asp:Button ID="btnfm" runat="server" Text="-" Height="30px" Width="30px" CommandName="Sub"
/>










this is jquery....

function Sum() {
debugger;
var text1 = document.getElementById('<%=txtRebate.ClientID %>');
alert(text1.value);
var text2 = document.getElementById(txtSales).value;
alert(text2.value);
if (document.getElementById("txtRebate").value == "" || document.getElementById("txtSales").value == "") {
document.getElementById("lblRebate").innerHTML = "";
alert('txtRebate and txtSales should not be empty');
}
else
{

var x = parseFloat(text1);
var y = parseFloat(text2);
document.getElementById("lblRebate").innerHTML = ((x * y)/100).toString();
}
}
Karthik_Mahalingam 5-Dec-13 4:47am    
can u send the html file from browser view source...
Member 10276220 5-Dec-13 5:19am    
element.style {
}
html, body, input, select, textarea {
font-size: 12px;
}
html {
}
html, body, table, tr, td, h1, h2, h3, h4, h5, input, select, p, textarea {
margin: 0px;
padding: 0px;
font-family: 'Segoe UI', 'Tahoma', 'Arial', 'Open Sans', open-sans, 'Source Sans Pro', MyriadPro-Regular, 'Myriad Pro Regular', MyriadPro, 'Myriad Pro', 'Lucida Grande', 'Droid Sans', Ubuntu, sans-serif;
}
user agent stylesheethtml {
display: block;
}
Pseudo ::-webkit-file-upload-button element
::-webkit-scrollbar {
width: 8px;
height: 4px;
}
Pseudo ::-webkit-input-placeholder element
::-webkit-scrollbar-thumb {
background: #999;
border: thin solid gray;
border-radius: 10px;
}
Pseudo ::-webkit-slider-thumb element
::-webkit-scrollbar-button {
width: 8px;
height: 5px;
}
Pseudo ::-webkit-search-cancel-button element
::-webkit-scrollbar-track {
background: #eee;
border: thin solid lightgray;
box-shadow: 0px 0px 3px #dfdfdf inset;
border-radius: 10px;
}

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900