Telerik ComboBox FindControl 在项模板内

Telerik ComboBox FindControl inside item template

本文关键字:ComboBox FindControl Telerik      更新时间:2023-09-26
<Telerik:RadComboBox ID="ddlInvoiceNumber" CssClass="feilds" runat="server" AutoPostBack="false"
    OnClientDropDownClosed="onDropDownClosed" EmptyMessage="-- Select Invoice --"
    LoadingMessage="Please wait" CheckBoxes="true" AppendDataBoundItems="true" SkinID="Windows7"
    Width="450" HighlightTemplatedItems="true">
    <HeaderTemplate>
        <table style="width: 420px;" cellspacing="0" cellpadding="0">
            <tr>
                <td style="width: 180px; float: left">
                    Invoice
                </td>
                <td style="width: 60px; float: left">
                    Value
                </td>
                <td style="width: 60px; float: left">
                    Balance
                </td>
                <td style="width: 60px; float: right">
                    Requested
                </td>
            </tr>
        </table>
    </HeaderTemplate>
    <ItemTemplate>
        <table style="width: 420px;" cellspacing="0" cellpadding="0">
            <tr>
                <td style="width: 180px; float: left" class="smalltext">
                    <%#DataBinder.Eval(Container, "Text")%>
                </td>
                <td style="width: 60px; float: left" class="smalltext">
                    <%#DataBinder.Eval(Container, "Value")%>
                </td>
                <td style="width: 60px; float: left" class="smalltext">
                    <%#Eval("BalanceAmount")%>
                </td>
                <td style="width: 60px; float: right" class="smalltext">
                    <asp:TextBox ID="txtDDLInvoiceAmount" runat="server" Text='<%#Eval("BalanceAmount")%>'
                        Width="58px"></asp:TextBox>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</Telerik:RadComboBox>

Javascript 函数 on onDropDownClosed

  function onDropDownClosed(sender, eventArgs) {
      for (var i = 0; i < Length; i++) {
          document.getElementById('<%= lblInvoiceNumberDisplay.ClientID %>').innerHTML += sender.get_checkedItems()[i].get_text() + ", ";
          sum += parseFloat(sender.get_checkedItems()[i].get_value(), 10);
          // Here i want checked textbox values 
      }
  }

请帮忙 - 如何在客户端的 ComboBox 项模板中FindControl文本框?

我正在回答我自己的问题

findControl 需要控件的 ID,但它返回使用该 ID 找到的客户端对象,例如,在内部它使用 $find() 方法来获取 javascript 对象。隐藏字段没有这样的客户端对象,这就是它找不到它的原因。您可以使用此方法获取 DOM 元素:

$telerik.findElement(sender.get_items().getItem(0).get_element(), "txtDDLInvoiceAmount").value