4

各セルがフォームの一部であるテーブルがあります。私のフォームでは、jquerydatepickerを入力要素に適用しています:

<form method="post" action="test.php">
                <table>
                    <tr>
                     ....
                        <td>
                            <input type="text" id="date" name="test"/>
                        </td>
                     ....
                    </tr>
                </table>
                <button type="button" id="addLine">Add line</button>
                <button id="submit" type="submit">Submit</button>
            </form>

私は次のように日付ピッカーを追加します:

$(document).ready(function() {
            $('#date').datepicker({showAnim: "slideDown"});   
        });

ここに問題があります...テーブルに行を追加したいのですが、日付ピッカーが新しく追加された行に適用されません...

$(document).ready(function() {
            $('#addLine').click(function() {
                var line = $('<tr>...<input type="text" id="date" name="test"/>...</tr>');
                $('table').append(line);
              });
        });

新しい行が表示されますが、値を挿入したいときに、新しく作成された行に日付ピッカーが表示されません。

別の$('#date')。datepiker()...を.click(function ...に入れようとしましたが、機能しません。また、メソッドを使用してdomを更新しようとしました。 page()..と呼ばれますが、メソッドが要素に存在しないというエラーが発生しました。あなたの助けが必要です!

ありがとうございました

4

1 に答える 1

2

同じ値のIDを複数持つことはできません。これにより、問題が発生する可能性があります。たとえば、代わりにクラス名を使用しますclass="date"

<input type="text" class="date" name="test"/>

コンテンツを動的に追加しているので、コンテンツがロードされた後、関数を起動できdatePickerます。

それで:

line.find(".date").datepicker({showAnim: "slideDown"})

サンプル: http: //jsbin.com/omoyiy/2/edit

于 2013-01-30T04:43:39.977 に答える