代码之家  ›  专栏  ›  技术社区  ›  Rich

通过html属性而不是javascript定义的jquery ui控件

  •  1
  • Rich  · 技术社区  · 15 年前

    这个问题是利用asp.net mvc和jquery中的html帮助器来解决的。例如,如果我定义了如下扩展方法:

    <:% Html.DatePickerFor(x => x.StartDate) %>
    

    我希望它使用jquery日期选择器。但是,这要么意味着我需要手动在头中添加对DatePicker方法的调用(在这种情况下,DatePickerFor方法没有任何意义),要么用一大堆在document.ready上调用的脚本标记扰乱HTML。

    我的一个想法是,与其通过javascript将适当的jquery ui行为添加到html元素中,还可以通过其他属性来完成,例如:

    <input id="foo" css="widget-ui-datepicker" widget-alt-field="#fooalt" />
    

    然后,jquery可以只查找具有正确css类的所有元素,收集所有widget-*值,并使用它们构建“options”,该“options”首先用于调用datepicker方法。

    这是一种可以直接进入widget工厂的想法。人们对此有何看法?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Dave Thieben    15 年前

    我通常在母版页中有这样一行:

    $(".datepicker").datepicker();
    

    然后把DatePicker类粘贴到我想使用它的任何文本框上。

    但如果有一个扩展方法而不是总是编写 new { @class: "datepicker" }

    我喜欢。