我有一个简单的页面,其中包含一个包含单个用户控件的转发器。用户控件具有3个属性,价格,数量和项目名称,所有这些属性都绑定到linqData源。想法是用户将在文本框中输入数量,然后将触发javascript以使用转发器中该行的总数更新标签控件。该脚本没有问题,并且正在执行数学运算,没有问题,问题是它没有使用新计算的行总数更新asp:标签。
以下是用户控件的代码
<div class="row">
<div class="large-6 columns">
<asp:Label runat="server" ID="productName">product name</asp:Label>
</div>
<div class="large-1 columns">
<asp:Label runat="server" ID="productPrice" Text="$0.00"></asp:Label>
</div>
<div class="large-1 columns">
<telerik:RadTextBox ID="qty" runat="server" Width="100%">
<ClientEvents OnValueChanged="updateLine" />
</telerik:RadTextBox>
</div>
<div class="large-1 columns">
<asp:Label runat="server" ID="lblTotal"></asp:Label>
</div>
<div class="large-1 columns">
</div>
<div class="large-2 columns">
</div>
</div>
<script type="text/javascript">
function updateLine(sender, args) {
var vBox = $find('<%=qty.ClientID %>');
var pBox = document.getElementById('<%=productPrice.ClientID%>');
var newLineTotal = sender.get_value() * pBox.innerText;
document.getElementById('<%=lblTotal.ClientID%>').textContent = newLineTotal;
}
</script>
我在javascript中尝试过标签的.textContent,.innerHTML,.value和.innerText属性,但这些属性都没有设置值。警报工作正常,并显示正确计算的总数。
非常感谢任何帮助。我无法绕过这个。
谢谢。
答案 0 :(得分:0)
尝试使用像这样的标签的ID
document.getElementById('lblTotal').innerText