Click here to Skip to main content
15,888,521 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();
}
}

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;
}
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...
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
 

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