我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我是新手,对这个笨拙的问题感到抱歉。
您可以在下面看到我的目标概述。
我正在使用Magento CE 1.7.0.2
<select onchange="filter('<?php echo $url;?>')">
<option value="none" $none>--- Sort By ---</option>
<option value="date" $date>Newest</option>
<option value="price" $price>Price</option>
<option value="name" $name>Name</option>
</select>
<div class="my-products">
//Structure of my custom products
</div>
我写了一个类似
的脚本<script type="text/javascript">
var Jquery=jQuery.noConflict();
function filter(url1) {
var data1 = "&id=10";
try {
Jquery.ajax({
url: url1,
type : 'post',
data: data1,
success: function(response){
if (response) {
var string = Jquery('.my-products', response);
Jquery('.my-products').html(string);
}
}
});
}
catch(e){ }
return false;
}
</script>
因为它的工作正常...但我的问题是在后台它正在更新完整页面,因为这样我丢失了一些敏感数据。
但我的计划是仅更新特定的div
而不是整个页面。
任何想法?
答案 0 :(得分:0)
使这项工作所需的一切都是假的;或e.preventDefault()
<script type="text/javascript">
var Jquery=jQuery.noConflict();
function filter(url1) {
var data1 = "&id=10";
try {
Jquery.ajax({
url: url1,
type : 'post',
data: data1,
success: function(response){
if (response) {
var string = Jquery('.my-products', response);
Jquery('.my-products').html(string);
}
}
});
}
catch(e){ }
e.preventDefault();
return false; // any one of this two should work
}
</script>
答案 1 :(得分:0)
尝试放return flase
function filter(url1) {
var data1 = "&id=10";
try {
Jquery.ajax({
url: url1,
type : 'post',
data: data1,
success: function(response){
if (response) {
var htmldata = Jquery('<div/>').html(response);
Jquery('.my-products').html(htmldata);
}
}
});
}
catch(e){ }
return false;
}