0

jquery 1.4.3 を使用して入力テキスト要素を動的に作成および削除する JS スクリプトがあります。jquery 1.9.1 の使用を開始する必要があります。

私が見ることができるものから

       .live() 

関数はに変更する必要があります

      .on() 

しかし、その後、機能の半分しか機能しません..削除機能が機能しなくなりました。誰でも理由がわかりますか?

完全なソースは、以下の jsfiddle リンクにあります。

http://jsfiddle.net/jaredwilli/tZPg4/4/

    $(function() {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;

    $('#addScnt').live('click', function() {
            $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
            i++;
            return false;
    });

    $('#remScnt').live('click', function() { 
            if( i > 2 ) {
                    $(this).parents('p').remove();
                    i--;
            }
            return false;
      });
     });
4

1 に答える 1

1

次のように、コードを少し変更する必要があります。

$(document).on('click','#remScnt', function () {
    ...
});

それ以外の

$('#remScnt').live('click', function () {
    ...
});

#remScntこのように、aが dom に追加されるたびに、クリック ハンドラが要素にバインドされます。

また、ページに複数の要素がある場合は、一意である必要がありますclassidremScntid

ここでフィドル: http://jsfiddle.net/tZPg4/7313/

于 2013-11-09T17:39:29.117 に答える