0

jQueryUIのタイプアヘッド機能を備えたテーブルがあります。テーブル行が1つしかない場合(初期ビュー)、フォームで機能しています。ユーザーが必要に応じて追加のテーブル行を作成できるようにするボタンがありますが、追加のテーブル行については、先行入力機能が機能しなくなりました。

サンプルのJSFiddleをセットアップしました。

http://jsfiddle.net/fmdataweb/9REgZ/1/

最初のフィールド(アクティビティタイプ)に入力を開始すると、選択可能な一致する単語のリストの取得を開始する必要があります(入力されたアクティビティに基づいてリスク選択メニューも自動的に入力されます)。タイプアヘッドリストと自動選択の両方が最初の行で機能しますが、[新しい行]ボタンをクリックすると、新しく作成された行では機能しなくなります。

誰かが何が壊れているのか、そしてそれを回避する方法を指摘できるかどうかを感謝します-私はこの段階でJavascriptに不慣れです。

4

1 に答える 1

1

これがあなたが前進するのを助ける何かです。新しい行を作成するときは、autocomplete()メソッドを呼び出してフィールドを初期化する必要があります。

関連するコードの一部を次に示します。

$( '#nextYear' ).on( 'click', '#button2', function () {
    var row = $( this ).closest( 'tr' );

    row = row.clone().insertAfter( row );

    row.find( 'input[name="activity"]' ).val( '' ).attr(

      'id', "nextYearSelect" + ( row.index() + 1 )

    ).autocomplete({
        source: availableTags
    });    

});

id異なる要素で属性値が重複しないようにしてください。

于 2012-08-15T02:48:34.453 に答える