1

jqueryのclone()メソッドを使用してテーブルに動的に生成された入力フィールドのコードがあります。コードは次のとおりです。

$(document).ready(function(){
    $("#myTable tr:last input").live("click",function(){
    $(this).parent().parent().clone().appendTo("#myTable");
    });

    });

テーブルのHTMLコードは次のとおりです

<table id="myTable" class="timingtable" border="1" cellpadding="0" cellspacing="0" align="left" style="width:100%; height:170px;">
  <tr>
    <th>Start time</th>
    <th>End time</th>
    <th>Family</th>
  </tr>
  <tr>
    <td><input type="date" name="start" id="element1" class="datefield" value=""></td>
    <td><input type="date" name="end" id="element2" class="datefield" value="" ></td>
    <td><input type="text"/></td>
  </tr>
  <tr>
   <td><input type="date" name="start" id="element3" class="datefield" value=""></td>
    <td><input type="date" name="end" id="element4" class="datefield" value="" ></td>
    <td><input type="text"/></td>
  </tr>
<tr>
    <td><input type="date" name="start" id="element5" class="datefield" value=""></td>
    <td><input type="date" name="end" id="element6" class="datefield" value="" ></td>
    <td><input type="text"/></td>
  </tr>
<tr>
    <td><input type="date" name="start" id="element7" class="datefield" value=""></td>
    <td><input type="date" name="end" id="element8" class="datefield" value="" ></td>
    <td><input type="text"/></td>
  </tr>
<tr>
   <td><input type="date" name="start" id="element9" class="datefield" value=""></td>
    <td><input type="date" name="end" id="element10" class="datefield" value="" ></td>
    <td><input type="text"/></td>
  </tr>
<tr>
   <td><input type="date" name="start" id="element11" class="datefield" value=""  /></td>
    <td><input type="date" name="start" id="element12" class="datefield" value=""/></td>
    <td><input type="text"/></td>
  </tr>
</table>

次のように入力フィールドにタイムピッカーを追加しました

<script type="text/javascript">
        $(function () {
            $('.datefield').timepicker();
        });

datefieldは、静的入力フィールドに付けられたクラス名です。

静的フィールドへのタイムピッカーを取得していますが、動的に生成された入力フィールドへのタイムピッカーを取得していません。

動的に生成されたフィールドにもタイムピッカーを取得するために私がしなければならないこと。この問題の解決策を提供してください。

前もって感謝します.......

4

2 に答える 2

2

タイムピッカーフィールドのIDを手動で変更する必要があります。次に、動的に追加されたフィールドにタイムピッカーを適用します。これだけが機能します。timepickerは要素のIDで機能するためです。

また

$(document).ready(function(){
    $("#tableID tr:last input").live("click",function(){
    $(this).parent().parent().clone().appendTo("#tableID");
    });

    });

これの代わりにこれを使用してください

$(document).ready(function(){
    $("#tableID tr:last input").live("click",function(){
    $(this).closest('tr').clone().appendTo("#tableID");
    });

    });
于 2012-06-12T05:35:22.020 に答える
0

なぜ id と class の両方が必要なのですか?

クラスのみで行った同様の要件がありました... idは一意性に対応しているためです。

以下のリンクを確認してください。

http://jsfiddle.net/manmohan_menon/6YkyY/4/

于 2012-08-02T10:17:31.957 に答える