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?