0

我正在编写我的第一个 jquery UI 小部件:一个由两个文本框(开始日期和结束日期)组成的日期范围控件,这两个文本框都将使用 jQuery UI DatePicker。

我在网上看到的所有小部件代码示例都将小部件行为应用于通用选择器。就我而言,我的选择器中恰好需要两个元素(前面提到的两个文本框),并且将对每个元素应用不同的逻辑。例如,开始日期文本框将具有与结束日期文本框不同的 onblur 事件/行为。

有没有办法在没有选择器的情况下创建一个小部件,而是有两个命名的构造函数参数,一个用于开始日期,一个用于结束日期?如果没有,是否有更好的方法来处理这个小部件?也许我应该创建一个 POJSO(普通的旧 JS 对象)?

4

1 回答 1

1

选择器是什么有什么关系?小部件使用选择器,因为大多数时候它适用于选定的元素。但由小部件决定使用选定的元素。从技术上讲,它可以忽略它们并继续处理任何内容。那么你为什么不直接选择文档(或者像文本框的父容器),然后将一个对象作为参数传递给你的小部件,其中包含“textbox1”和“textbox2”的值,然后在初始化时获取这些值。那有意义吗?

例如:

$("#parent_container").yourWidget({
    txtbox1: $("#txt_id1"),
    txtbox2: $("#txt_id2"),
    otherParam: true
});

在您的小部件代码中,只需忽略选定的元素。根据参数的值处理所有内容。

于 2012-06-07T13:42:47.890 回答