У меня есть простая страница с ретранслятором, содержащим единый пользовательский элемент управления. Пользовательский элемент управления имеет 3 свойства, цену, количество и имя элемента, все из которых связаны с источником linqData. Идея состоит в том, что пользователь вводит количество в текстовом поле, которое затем запускает javascript, чтобы обновить элемент управления меткой с суммой для этой строки в ретрансляторе. Сценарий запускается без проблем и выполняет математику без проблем, проблема в том, что она не обновляет метку asp: label с помощью новой подсчитанной общей суммы.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>
Я попытался .textContent, .innerHTML, .Value и .innerText атрибуты метки в моей JavaScript, но ни один из тех, кто установит значение. Предупреждение работает нормально и отображает правильно рассчитанную сумму.
Любая помощь была бы принята с благодарностью. Я просто не могу обмотать голову вокруг этого.
Thank you.
Это не будет работать, потому что не будет ни одного элемента с этим именем на странице во время выполнения. Однако, только для хихиканья я сделал это, и это просто приводит к неопределенной ошибке. –