0

以下に示すように、動的な for ループがあります。4 列の行を作成します。入力フィールド()を持つ列の1つに日付ピッカーを追加したかったのです。

 for (var i=0, file; file=o.files[i]; i++) { %}

        <tr class="template-upload fade">
            <td class="preview"><span class="fade"></span></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
    <td class="docDate"><span><input type="text" id="idDocDate" class="clsDocDate" /><img src="../Images/Calendar.png" alt="" onclick="txtDatePicker(this);"/></span></td>

    </tr>
    {% } %}

画像ボタンの「onclick」イベントを使用して以下のコードを試しましたが、期待どおりに動作しません。各行の日付ピッカーを表示しますが、問題は、選択した日付値を最初の行にのみ割り当てることです。どの行を選択しても問題ありません。最初の行のみに割り当てられます。行ごとに個別の日付ピッカーを取得するための回避策はありますか??

function txtDatePicker(argDate) {
    var ele = $(argDate).closest('td').find('.clsDocDate');
    $(ele).datepicker({
        showOn: 'button'
    });
}
4

1 に答える 1

2

これは、日付入力フィールドの ID が重複しているためのようです。日付フィールドから ID 属性を削除してください。

<input type="text" class="clsDocDate" />

デモ:解決策問題

于 2013-10-31T07:09:15.343 に答える