我根据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。
答案 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">