【问题标题】:Is it possible to get the same datepicker by different selectors (jquery)是否可以通过不同的选择器(jquery)获得相同的日期选择器
【发布时间】:2011-07-19 23:14:20
【问题描述】:

这可能是一个关于 jquery 的基本问题,但我希望无论如何有人会为我澄清。

我在我的页面上创建了两个日期选择器(伪代码):

<input id="datepicker1" class="datepicker"/>
<input id="datepicker2" class="datepicker" />

jQuery(".datepicker").datepicker();

如果我执行 jQuery("#datepicker1"),我会得到使用类选择器创建的相同 datepicker-instance 吗?

(我已经尝试了上述方法,因为我需要在 datepicker1 中添加“onSelect”,但它不起作用。)

谢谢 托马斯

【问题讨论】:

  • 调用jQuery()(或$())总是返回一个新的jQuery实例(参见this answer的解释)。但是,您仍然应该获得相同的 DOM 元素,所以这并不重要。

标签: jquery jquery-ui jquery-selectors jquery-ui-datepicker


【解决方案1】:

如果我做 jQuery("#datepicker1") 我会得到同样的结果吗 使用类选择器创建的 datepicker-instance?

当然(正如@BoltClock 指出的那样,您将检索应用日期选择器的同一个DOM 元素)。以下是您如何为这些日期选择器输入之一定义事件处理程序:

jQuery("#datepicker1").datepicker("option", "onSelect", function() {
    alert('select');
});

只会为#datepicker1 触发事件处理程序。

示例: http://jsfiddle.net/andrewwhitaker/TsHwa/


这是仅在 onSelect 中为 ID 为 datepicker1input 执行代码的另一种方法:

jQuery(".datepicker").datepicker({
    onSelect: function () {
        if (this.id === 'datepicker1') {
            alert('select');
        }
    }
});

示例: http://jsfiddle.net/andrewwhitaker/rdxy6/

【讨论】:

  • 我已经使用 CSS 类名和onSelect 事件处理程序将 datepicker 附加到一些 HTML 文本框我需要知道当前 onSelect 发生的选择器类名.. 元素应用了 2 个其他类除了我用来附加日期选择器的那个
猜你喜欢
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 2016-10-02
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多