1

ここに私が実行しようとしている簡単なスクリプトがあります。

http://jsfiddle.net/T8q5p/5/

私がやろうとしているのは、すべての追加ボタンに新しい入力ボックスを追加することです。フォームごとに、削除ボタンをつけました。削除をクリックすると、必要に応じて行が消えます。

ただし、それらをすべて削除すると、入力フィールドを追加できなくなります。これは、すべてのリスト項目が削除されたため、複製するものが何もないためだと思います。

これが残りのテキストであるかどうかを示す if ステートメントがある場合は、次のように値を空にするだけです

      $(this).parent('li').val("");

?

入れ方がわからない..

ありがとうございました

4

1 に答える 1

2

1 つの参照項目を変数に保存し、そこから複製することができます。また、ID は一意である必要があるため、削除 ID をクラスに変更します。

http://jsfiddle.net/T8q5p/6/

var item = $("#tasks ul li:eq(0)").clone(true, true); // need to clone for new add
$('#add').click(function() {
    var taskItem = item.clone(true,true);
    $('#tasks ul').append(taskItem);
    taskItem.find(':input:text').val("");
    return false;
});
$('body').on('click','.delete',function() {
    $(this).parent('li').remove();
    return false;
});​

または、最後のアイテムの削除を完全に防ぐこともできます:

if(!$(this).parent('li').is(':only-child')){
    $(this).parent('li').remove();
}
于 2012-05-30T18:19:56.110 に答える