Prestashop v1.6のデフォルトブートストラップテーマ、product-list.tplファイル。リンクをクリックした後にdivコンテンツを更新する
私はボタンがいくつかのSmartyのコードでカートとdiv要素に追加します:私は、私が唯一のdivコンテンツをリフレッシュしたいリンクする]をクリックすると今
<a class="ajax_add_to_cart_button" href="....">
<div id="div1">{if $added}Added{else}not added{/if}</div>
。
私はすでにいくつかのコードをスタックで見つけようとしていますが、私の知識はまだ十分ではありません。
$(document).on('click', '.ajax_add_to_cart_button', function() {
$("#div1").load() /*also $("#div1").load("#div1")*/
});
と::
$("#div1").load(location.href + " #div1");
といくつかのより多くを、私は試してみて、それが動作していない何
。
EDIT、また、これは私のために動作しません。
$(function(){
$(document).on('click', '.ajax_add_to_cart_button', function(e) {
e.preventDefault();
$("#div1").load($(this).attr("href")); /*and this: $("#div1").load($(this).attr("href #div1"));*/
return false
});
});
EDIT2:私はこのコードは半分
$(document).ready(function(){
$(".ajax_add_to_cart_button").click(function(){
$("#div1").html("result reloaded successfully");
});
});
なぜ半分に取り組んでいるしようとすると?テキストは表示されますが、最初の製品にのみ表示されるので、どの製品をクリックしても問題ありません。html()
をload()
またはrefresh()
に切り替えてみてください。
EDIT3
$(document).ready(function(){
var productid = "{product.id_product}"
$(".ajax_add_to_cart_button").click(function(){
$("#div1" + productid).html("result reloaded successfully");
});
});
<div id="div1{product.id_product}">{if $added}Added{else}not added{/if}</div>
これは、すべての製品での表示情報で、製品のすべてのコンテナは、今異なるIDを持っています。
こんにちは、私は...それは不明だあなただけの最初の製品のために言うので、あなたは、何をしたいか何も理解していない、あなたは私を説明することができますより良い? – sarcom
私は製品のリストを持っています、すべての製品はこのファイルを '#div1'としています.3番目の製品をカートに追加すると、' html() 'からのこのメッセージは3番目の製品に表示されます。 –
Mmm ...私は...あなたの問題は、あなたがすべての製品に同じIDを使用していることだと思います。 DOMは、ある要素に対して一意のIDを持つべきです、別の方法、おそらくセレクタとしての単純なクラス、あなたはすべての要素に同じIDを使用できませんでした:) – sarcom