telerik radcombobox“OnClientTextChange”事件不会触发

时间:2012-07-08 15:41:51

标签: telerik radcombobox

我根据telerik示例编写了以下代码:

<telerik:RadComboBox ID="rcbPageSize"   
runat="Server"   
skin="Gray"  
AllowCustomText="true"  
Style="float:right; margin-left: 5px;"   
Width="60px" 
OnClientTextChange = "PageSizeChanged"
OnClientSelectedIndexChange =  "PageSizeChanged">

<Items>
    <telerik:RadComboBoxItem runat="Server" Text="10" Value="10" />
    <telerik:RadComboBoxItem runat="Server" Text="20" Value="20" Selected="true" />
    <telerik:RadComboBoxItem runat="Server" Text="50" Value="50" />
    <telerik:RadComboBoxItem runat="Server" Text="150" Value="150" />
    <telerik:RadComboBoxItem runat="Server" Text="250" Value="250" />
</Items>

</telerik:RadComboBox>


<telerik:RadCodeBlock ID="rcb" runat="server">

 <script type="text/javascript">

    function PageSizeChanged(sender, eventArgs) {

        alert("You typed " + sender.get_text());

    }

</script>
</telerik:RadCodeBlock>

当我更改选择时,会调用函数“PageSizeChanged”,但是当我通过在组合框内输入来更改文本时,函数永远不会被调用。

有人有什么建议吗? 谢谢, INBAL。

3 个答案:

答案 0 :(得分:1)

我发现它绝对是这款Telerik控件的“功能”。如果你使用你的代码,输入内容,按回车键,然后在框外点击该事件将会触发。

只需按Enter键或只需单击外部即可自行触发。

我正在使用稍微更新版本的Telerik控件,因为皮肤Gray已被弃用,但我假设它在您的版本中会相同。

答案 1 :(得分:0)

OnClientTextChange将不会触发,直到用户点击Enter或在RadComboBox外部点击。在这里说:http://www.telerik.com/help/aspnet-ajax/combobox-onclienttextchange.html

答案 2 :(得分:-1)

您必须设置AutoPostBack =“true”才能触发服务器事件。

<telerik:RadComboBox ID="rcbPageSize"  
AutoPostBack="true" 
runat="Server"   
skin="Gray"  
AllowCustomText="true"  
Style="float:right; margin-left: 5px;"   
Width="60px" 
OnClientTextChange = "PageSizeChanged"
OnClientSelectedIndexChange =  "PageSizeChanged">