2011-12-13 16 views
1

私はこのコードを持っていますが、要素をクローンすると、アクションもクローンされます。どのような私が欲しいのはあなたの代わりに.clone(true).clone()を使用して、データとハンドラのクローンを作成したくない場合は、各element.Youのためだけの個々のアクションはデモストップ伝播jquery

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.edit').editable('http://save.php', { 
     indicator : 'Saving...', 
     submit : 'OK', 
     cancel : 'Cancelar', 
    }); 
}); 


$(document).ready(function() { 
    $('#btnAdd').live('click', function(){ 
     var num = $('.clonedInput').length; 
     var newNum = new Number(num + 1); 

     var newElem = $('#input' + num).clone(true).prop('id', 'input' + newNum); 

     newElem.children(':text').prop('name', "myformdata[job][]").prop('job', 'job').val(''); 

     $('#input' + num).after(newElem); 
     $('#btnDel').prop('disabled', ''); 

     if (newNum == 4) $('#btnAdd').prop('disabled', 'disabled'); 

    }); 

    $('#btnDel').live('click', function(){ 
     var num = $('.clonedInput').length; 

     $('#input' + num).remove(); 
     $('#btnAdd').prop('disabled', ''); 

     if (num - 1 == 1) $('#btnDel').prop('disabled', 'disabled'); 

    }); 

    $('#btnDel').prop('disabled', 'disabled'); 

}); 
</script> 

    <div class="clonedInput" id="input1"> 
     <span style="float: left;">job</span> 
     <div class="edit" id="job="myformdata[job][]">Job</div> 
    </div> 

    <div id="copy"> 
     <input class="format" type="button" id="btnAdd" value="Ad" /> 
     <input class="format" type="button" id="btnDel" value="Re" /> 
    </div> 

demo

+0

デリゲートを使用しないでください。ライブは長い間、今のところ好まれた方法ではありませんでした。 –

答えて

0

RightSaidは正しいですが、パラメータを指定せずに.clone()を使用するだけで、ハンドラ/データは複製されません。あなたは、あなたがそれらを作成して「編集可能」に新しい要素を設定する必要がhttp://jsbin.com/unebex/11/

:あなたのコードについては

は、私は、これはあなたがのために行っていた何だと思います。これらのボタンの新しいインスタンスを作成していないので、これらのボタンで.live()を使用する必要はありません。

1

で問題を見ることができます。

複製された個々の要素にプラグインが適用されるようにするには、その要素を複製した後に適用します。

...clone().editable('http://save.php', { 
      indicator : 'Saving...', 
      tooltip : 'Click to edit...', 
      submit : 'OK', 
      cancel : 'Cancelar' 
     }); 
+0

私はすでにクローンで多くの経験をしていますが、クローンされた要素に対しては正しく動作していません。 – user947462

+0

誰でもダウン投票を説明してくれますか? – RightSaidFred