0

ユーザーがリンクをクリックできるようにしています。これにより、ページにフィールドが追加されます。ユーザーはリンクをクリックして、ページに必要な数のフィールドを追加できます。フィールドをクリックすると、日付フィールドであるため、カレンダーが表示されます。Any+Timeカレンダーを使用しています。jQueryは、特定のIDを持つフィールドからのクリックイベントを待機します。コードは次のとおりです。

$('#start_date').click(
        function(e) {
            $('#start_date').AnyTime_noPicker().AnyTime_picker().focus();
        } );

IDはstart_dateです。問題は、ユーザーがリンクをクリックしてstart_dateという新しいフィールドを追加でき、IDが同じであるため、jQueryイベントリスナーが各フィールドを一意に識別できないことです。この種のシナリオに対する既知の解決策はありますか?

4

1 に答える 1

2

よくわかりません: 一意の番号を追加してもうまくいきませんか? フィールドを作成してもクリック ハンドラーがアタッチされないclass="pickerField"場合は、作成時に要素に a を追加し、ハンドラーを次のように変更してみてください。

$('.pickerField').click(
        function(e) {
            $(this).AnyTime_noPicker().AnyTime_picker().focus();
        } );

jQuery 1.7.2 で動作するはずです。何らかの理由でそうでない場合は、代わりに次のことを試してください。

$('.pickerField').on('click',
        function(e) {
            $(this).AnyTime_noPicker().AnyTime_picker().focus();
        } );

古いバージョンの jQuery を使用している場合は、live代わりに を使用してみてくださいon

于 2012-06-20T03:08:22.500 に答える