10

jQuery UI の日付ピッカーで少し問題が発生しています。問題は、私は自分のページと次のような入力を持っているということです:

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

3

入力のIDを変更する必要があります。変更しないと機能しません。日付を選択すると、 DP_jQuery_1347006322116.datepicker._selectDay('#same',8,2012, this);return false;この関数を使用してselectDayが実行され、入力の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 に答える