10

我的 jQuery UI datepicker 遇到了一个小问题。问题是,我有我的页面和一些这样的输入:

blabla | blabla | .date-picker | blabla
blabla2 | blabla2 | .date-picker | blabla2
blabla3 | blabla3 | .date-picker | blabla3

所以'blabla'只是一些文本,'.date-picker'是一个输入,带有'date-picker'类。

在我的 JavaScript 代码中,我只有以下内容:

$(function() {
    $('.date-picker').datepicker();
});

但是例如,如果我单击“blabla3”行的输入,而不是更新正确的输入,它总是更新第一个...

我的输入具有所有相同的 id(我无法更改它),但我正在为我的选择器使用输入的类,所以它应该可以工作但不能。

4

3 回答 3

7

您好旧帖子,但它适用于那些仍然面临这个问题的人......

只需删除id新输入的 id,datepicker 总是会生成一个新的 id,即如果输入没有。如果它有一个,日期选择器会保留它,这意味着这里第一个输入被克隆,最后一个也将被更新。

于 2016-05-03T05:40:30.753 回答
3

您应该更改输入的 id,否则它将不起作用,因为当您选择任何日期时,它会使用 DP_jQuery_1347006322116.datepicker._selectDay('#same',8,2012, this);return false;此函数来选择日期,并且它会将 id 用于输入。

因此,如果您有多个 id,它将选择第一个输入并在那里设置日期。

于 2012-09-07T08:31:12.917 回答
2

我有一个类似的问题,我将使用 javascript 动态添加包含具有相同 ID 标签的日期字段的新 DIV 容器。在我的情况下解决的唯一方法是动态重写所有 ID,然后销毁/创建 datepicker 功能:

var n=0;    
$("[id*='blabla']").each(function(){
    n++;
    tempField = this.id.split("-");
    this.id = tempField[0]+"-"+n;
    });

// first remove datepicker functionality since renaming of id above then            
// add datepicker to any field with "datepicker" as class   

    $("input.datepicker").datepicker("destroy").datepicker();

我修改了上面的内容以适合您的用例(我认为)。希望这可以帮助。

顺便说一句:我用连字符(“-”)分割的原因是因为我可以在每次使用 datepicker 字段动态创建另一个 DIV 容器时调用这个函数。它将按顺序系统地重命名所有 ID,以供以后的表单处理。

于 2013-01-26T02:06:34.627 回答