【问题标题】:Set RadComboBox value from javascript从 javascript 设置 RadComboBox 值
【发布时间】:2012-07-12 09:54:47
【问题描述】:

我在用户控件中有一个 RadCombobox,我试图从 Javascript 将值设置为 null 或 0。以下代码不起作用。但它也没有显示任何错误。

function OnClientSelectedIndexChanged(sender, eventArgs) {
    var item = eventArgs.get_item();
        var ddl = document.getElementById('ctl00_plh1_Test1_Dropdown2_RadComboBox1_DropDown');
        ddl.selectedIndex = 0;

}

<telerik:RadComboBox ID="Dropdown1" runat="server" 
                             NoWrap="true" Width="250" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
                            <CollapseAnimation Duration="200" Type="OutQuint" />
                        </telerik:RadComboBox>



<uc2:RadComboBox ID="Dropdown2" runat="server" DdlAutoWidth="true"></uc2:RadComboBox>

【问题讨论】:

  • 试试这个 var ddl = document.getElementById('maincontent_RadcomboBox'); maincontent 应该是 UserControl 的 ID
  • 我能够使用我的代码找到控件,但 selectedIndex 不起作用。
  • 您的下拉列表不包含任何项目,那么您如何设置它的索引?

标签: javascript asp.net telerik radcombobox


【解决方案1】:

试试这个。

var mycombobox = $find("<%= MyUserControl.FindControl("RadComboBox1").ClientID %>");

var mycombobox = $find("<%= RadComboBox1").ClientID %>");

mycombobox.clearSelection();

你可能需要这个

<rad:RadScriptBlock runat="server" ID="RadCodeBlock">
   <script type="text/javascript">

   </script>
</rad:RadScriptBlock>

【讨论】:

    【解决方案2】:

    我假设将触发OnClientSelectedIndexChanged 事件的RadComboBox 将具有2 个或更多RadCombBoxItems,否则将永远不会触发该事件,因为所选索引永远不会改变。

    当事件触发时,您必须在您的UserControl 中获得对RadComboBox 控件的引用。要将其 SelectedIndex 属性设置为 0,请在客户端控件上调用 set_selectedIndex() 函数。请记住,这只会设置 SelectedIndex,不会更新 RadComboBox 的输入字段中的文本。如果你也想清除它,你必须调用客户端控件的set_text() 函数。

    function onComboBoxSelectedIndexChanged(s, e) {
        var ctrl = '<%= Dropdown2.FindControl("RadComboBox1").ClientID %>';
        if (ctrl) {
            ctrl.set_selectedIndex(0);
            ctrl.set_text('');
        } 
    }
    

    有关 RadCombBox 控件的 JavaScript API 的更多信息,请参阅 Telerik 网站上的 documentation

    【讨论】:

      【解决方案3】:

      试试:

      var radComboBox = <%=YourComboBox.ClientID %>;  
      
      radComboBox.SetValue("someValue"); 
      

      【讨论】:

        【解决方案4】:

        您想将所选值或所选索引设置为0null 什么?
        试试这个选定的值:

        $find("<%=ctl00_plh1_Test1_Dropdown2_RadComboBox1_DropDown.ClientID%>").set_text("0");
        

        【讨论】:

          【解决方案5】:

          在 javascript 中为选定的值试试这个:

          var SelectdVal=1;
          $find("<%= YourRadComboBox.ClientID %>").findItemByValue(SelectdVal).select();
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-08-05
            • 1970-01-01
            • 2016-07-28
            • 1970-01-01
            • 1970-01-01
            • 2019-03-27
            • 2012-11-25
            • 1970-01-01
            相关资源
            最近更新 更多