0

jQueryのバスケットからのアイテムの削除に問題があります。

バスケットにアイテムを追加してから10秒ほど待つと、問題なく削除されます。バスケットにアイテムを追加した場合、間違いを犯したことに気づき、削除ボタンを押して(数秒以内に)、ページがリロードされます-意図したものではありません。

これは、jQueryイベントがまだバスケットIDからの削除アイテムにアタッチされていないことが原因である可能性があります...

このプロセスを高速化する方法はありますか、それとも非常に目立つため、jQueryで間違ったことをしましたか...

http://goldealers.co.uk/calc-test

よろしくお願いします。

私は次のようにイベントに拘束します:

jQuery(document).ready(function () {
jQuery('.remove').click(function(data) {
    var pid = jQuery(this).attr('name');
      jQuery.post('https://goldealers.co.uk/wp-content/plugins/gd/tables.php', 
        { pid: pid, remove: 'true' }, 
            function(data) {
                jQuery("#quoteTable").load("https://goldealers.co.uk/wp-content/plugins/gd/tables.php?table=quoteTable");
                jQuery("#quoteTotal").load("https://goldealers.co.uk/wp-content/plugins/gd/tables.php?table=quoteTotalTable");          
            },
        "json");        
    return false;
});

});

バインドするHTMLは次のとおりです。

<form method="post" action="">
<input type="hidden" name="remove" value="6" />
<input type="hidden" name="pid" value="6" />
<input type="image" src="https://goldealers.co.uk/media/delete.png" name="6" class="remove"/>
</form>

4

1 に答える 1

2

イベントリスナーをライブにする必要があります。これを行うには、次のように変更します。

$(document).on('click', '.remove', function(){
    ...
})
于 2013-01-05T04:04:23.237 に答える