jQuery初心者として、私は次の問題に出くわしています:
フィールドセットを既存のフォームに追加するボタンがあります。正常に動作します。さらに、各フィールドセットには、最終的にその正確なフィールドを再度削除するためのボタンがあります。テスト目的で、単純な console.log をこれらの削除ボタンをクリックするようにバインドしました。
削除ボタンの 1 つをクリックすると、テキストがコンソールに記録されます。ただし、以前に追加されたすべてのフィールドセットがドキュメントから完全に消える前に、一瞬だけ点滅します。
ここにhtmlがあります
<form id="theform" class="form-inline">
<fieldset class="aField" id="field1">
<select id="products">
<option>Item 1</option>
<option>Item 2</option>
<option>Item 3</option>
</select>
<input type="text" placeholder="Amount" class="amount">
<input type="text" placeholder="Price">
</fieldset>
</form>
<button id="addtoform" class="btn test">New Product</button>
そして、ここにjsがあります:
$(document).ready(function () {
$('#addtoform').click(function() {
var fields = $('.aField').length;
var newField = 'field' + String(fields + 1);
var button = "<button class='btn btn-danger delete'>delete</button>";
var newElem = $('#field1').clone().attr('id', newField).append(button);
$('#theform').append(newElem);
});
$("#theform").on("click", '.btn.btn-danger.delete', function () {
console.log('ok, let me delete this.');
});
});
何が起こっている?