【问题标题】:Could find kendoNumericTextBox by class name可以通过类名找到 kendoNumericTextBox
【发布时间】:2016-04-25 22:00:29
【问题描述】:

我正在尝试将更改事件处理程序附加到 kendoNumercTextBox 的实例。 我可以使用其 ID 获取 kendoNumercTextBox 控件的实例,但是我无法使用类名获取实例

这里是代码http://dojo.telerik.com/emIWa/11

注意

  • 我不想在实例化时附加事件处理程序 控制。我想获取现有实例,然后附加 事件处理程序。
  • 我实际上也在使用 Kendo ASP.NET MVC,但是 dojo 不允许我编写 cshtml,所以我使用 kendo UI 上面的演示目的。但我认为最终结果是一样的。
    NumericTextBox 在 cshtml 中创建如下

     @(Html.Kendo().NumericTextBoxFor(x =>x.numerictextbox).HtmlAttributes(new {@class = "MyClass"}))
    

【问题讨论】:

    标签: kendo-ui kendo-asp.net-mvc kendonumerictextbox


    【解决方案1】:

    您需要使用更具体的 jQuery 选择器。例如,这将获得正确的元素,即具有 data-role 属性的元素:

    var numerictextboxByClassName = $(".MyClass [data-role]")
    

    如果您使用浏览器中的开发人员工具检查文本框,您会看到“MyClass”位于组成小部件的几个元素上,因此需要更具体。还值得注意的是,处理程序只会附加到使用选择器找到的第一个实例,因此此方法不能用于同时将处理程序附加到多个此类控件。

    【讨论】:

    • 谢谢这工作。有什么方法可以检查是否触发了某个类名的更改事件的控件?我在更改事件处理程序中这样做的方式为 'function(e) { $(e.sender.elements[0]).hasClass('SomeClass') }'
    • function(e) { $(e.sender.elements[0]).hasClass('SomeClass') }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多