【问题标题】:Getting the id/name of the td where the datepicker is called获取调用日期选择器的 td 的 ID/名称
【发布时间】:2015-03-15 05:42:03
【问题描述】:

我们在我们的应用程序中以多种形式使用 jquery.ui.datepicker。 我只需要基于其中 2 个实例来实现逻辑。如何获取日期选择器所在的 td 的名称?我尝试使用日期选择器中的 id,但这是一个随机生成的 id,因此无法始终如一地工作。但是有没有办法获取实例所在位置的 id?

我的 jsp 是这样的:

<tr ><td id="s1startDate" class="text">
        <html:text property="user.startDate" styleClass="required date datepicker usDateFormat"/>
</td></tr>

在日期选择器代码中,我有:

/* Update the input field with the selected date. */
_selectDate: function(id, dateStr) {
    dpChk(dateStr, id);
    . .. . .
    .. . .
}

在我的 js 中:

function dpChk(dateVal, id) {
   var startDate = new Date(dateVal);
   alert('id is ' id);
   ... . .
   . . . .
}

【问题讨论】:

  • jQuery UI 的日期选择器没有_selectDate 事件或属性?
  • @adeneo 确实如此,这是我在上面提到的。那里创建了一个 id,但是 id 名称是随机生成的,每次我得到一个不同的 id。
  • 好吧,documentation 没有提到任何这样的方法,所以当它显然没有记录在案时,很难知道它是如何工作的,而testing 它什么也得不到?
  • 使用在他们的 _selectDate 中传递的 id 进行测试会得到我的 id,例如:dp1421419563454、dp1421419563455、dp1421419563452、dp1421419563453 等 ..
  • 这是一个全局事件不是吗,像$.datepicker._selectDate = function ... 这样调用,可能应该包含其余代码

标签: jquery jquery-plugins datepicker


【解决方案1】:

你得到的ID是给输入的动态ID,获取TD的ID,目标id

$.datepicker._selectDate = function (id, dateStr) {
    var td_id = $(id).closest('td').prop('id')
}

【讨论】:

  • 就是这样!!非常感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多