I am trying to get the value of one of RadNumericTextBoxes in a RadListView via javascript and am having issues. I have had to hardcode the value in the javascript and am looking for a better solution.. Here is the relevant code:
This is the RadListView. There are repeating text boxes, then there is a total text box. I have a javascript function that gets the values of the updated text box, then updates the total.
The javascript function is:
How do I get the value of txtTotalValue. I have tried the solution I have seen elsewhere, but am getting errors. Any idea?
This is the RadListView. There are repeating text boxes, then there is a total text box. I have a javascript function that gets the values of the updated text box, then updates the total.
<telerik:RadListView ID="rlvApproval" runat="server"> <LayoutTemplate> <table> <tr> <td style="width: 250px;"> </td> <td style="width: 200px; font-weight: bold;"> </td> </tr> </table> <asp:PlaceHolder ID="itemplaceholder" runat="server" /> <table> <tr> <td style="width: 250px;"> <asp:Label ID="lblName" runat="server" Text="Total" Font-Bold="true" /> </td> <td style="width: 200px; font-weight: bold;"> <telerik:RadNumericTextBox ID="txtTotalValue" runat="server" ReadOnly="true" DataType="System.Decimal" Skin="Web20"> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </td> </tr> </table> </LayoutTemplate> <ItemTemplate> <table> <tr> <td style="width: 250px;"> <asp:Label ID="lblName" runat="server" Text='<%# Eval("name") %>' /> </td> <td style="width: 250px;"> <%-- <telerik:RadNumericTextBox ID="txtValue" runat="server" DataType="System.Decimal" Skin="Web20" DbValue='<%# DataBinder.Eval(Container.DataItem, "value") %>' MaxValue="100" MinValue="0" AutoPostBack="false"> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox>--%> <telerik:RadNumericTextBox ID="txtValue" runat="server" DataType="System.Decimal" Skin="Web20" DbValue='<%# DataBinder.Eval(Container.DataItem, "value") %>' MaxValue="100" MinValue="0" AutoPostBack="false" > <NumberFormat DecimalDigits="0" /> <ClientEvents OnValueChanged="ValidateWeighting" /> </telerik:RadNumericTextBox> </td> </tr> </table> </ItemTemplate> <EmptyDataTemplate> <div class="message"> <asp:Label ID="lblEmptyMessage" runat="server" SkinID="messageBig" Text="Error loading approval information..." /> </div> </EmptyDataTemplate> </telerik:RadListView>function ValidateWeighting(sender, eventArgs) { var object = document.getElementById('ctl00_ContentPlaceHolder1_Weighting1_rlvApproval_txtTotalValue'); //var object = $find(sender.get_id().replace("txtValue", "txtTotalValue")); var object2 = document.getElementById('<%= rlvApproval.ClientID %>'); var current = eval(object.value); var old = eventArgs.get_oldValue(); var newval = eventArgs.get_newValue(); var tmp = current + (newval - old); if (tmp == 100) { document.getElementById('<%= btnSave.ClientID %>').disabled = false; } else { document.getElementById('<%= btnSave.ClientID %>').disabled = true; } object.value = tmp; } How do I get the value of txtTotalValue. I have tried the solution I have seen elsewhere, but am getting errors. Any idea?