0

我正在开发一个 ASP.NET MVC3 应用程序,我在其中使用 Telerik ComboBox。我有一个要求,我必须禁用 ComboBox 中的 Enter 按钮单击,因为它会触发表单提交方法。下面是我的代码

Html.Telerik().ComboBox().Name("OpportunityType").Value("-1")
                    .BindTo(new SelectList(Model.OpportunityTypes, "OpportunityID", "OpportunityTypeName"))
                    .ClientEvents(events => events.OnChange("OnOpportunityTypeChange")
                    )
                    .HtmlAttributes(new { style = "width: 180px;" }).Render();

我试图在jquery的document.ready中处理下拉菜单的按键事件,但即使这样也没有解决目的。我们有 Telerik ComboBox 的按键事件吗?我的代码在输入点击时永远不会到达那里我试图提醒一些值但它没有显示

$("#OpportunityType").keypress(function (e) {
        if (e.which == 13 || e.keyCode == 13) {
        return false;
        }
    });

任何其他方式来禁用此组合框的输入键事件?

4

3 回答 3

1

您应该将处理程序添加到输入元素 - 而不是隐藏的。

IE

 $("#OpportunityType-input").keypress(function (e) {
        if (e.which == 13 || e.keyCode == 13) {
        return false;
        }
    });

我希望这有帮助 !

于 2012-04-12T16:28:42.513 回答
0

根据“telerik 组合框停止表单提交”的第一个谷歌结果

听起来您需要为 onkeydown 附加一个事件处理程序,然后同时使用 preventDefault 和 stopPropagation 来防止回发。

于 2012-04-10T14:56:27.080 回答
0

如何使用

<form [...] onkeypress="return validate(event)">

在表单中捕获 keydown,然后使用传入的 eventdetail 参数 (e) 的 eventSource 属性来检查输入字段并返回 false。

于 2012-04-12T08:36:58.517 回答