从 javascript 设置 RadComboBox 值

Posted

技术标签:

【中文标题】从 javascript 设置 RadComboBox 值【英文标题】:Set RadComboBox value from javascript 【发布时间】: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 不起作用。 您的下拉列表不包含任何项目,那么您如何设置它的索引? 【参考方案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();

【讨论】:

以上是关于从 javascript 设置 RadComboBox 值的主要内容,如果未能解决你的问题,请参考以下文章

从 JavaScript 设置 Web 部件个性化属性

使用 Thymeleaf 从 Spring 模型设置 JavaScript 变量

如何从 JavaScript 设置和触发 css 转换

从 JavaScript 设置 CSS 伪类规则

将自定义变量从 npm 脚本设置为 javascript

javascript 从区域设置格式化价格(使用逗号/点)