无法更改ajax成功返回时的image-onChange函数
Unable to change image onChange function on ajax success return
嗨,我是这个javavascript/ajax的新手。我试图创建一个下拉列表,通过不同的选项动态更改图像,如Fiddle中所示,但更改功能似乎不起作用。
我确保我能够从pictureList
获得数据,但图像源并没有成功更改。
$('#selectVariant').change(function () {
var sku = $('#selectVariant :selected').val();
var sessionId="<?php echo $sessionId; ?>";
var dataString='sku='+ sku +'&sessionId='+sessionId;
$.ajax({
type:"post",
url: "<?php echo $base_url; ?>ajax-helper/search_variant.php",
data:dataString,
cache:false,
dataType: "JSON",
success: function(data){
var pictureList = {};
//example of my data list
//var pictureList = {'Apple SKU2': "http://tos-staging-web-server-s3.s3.amazonaws.com/9/catalogue/apples_in_season.png",
//'Pear1': "http://tos-staging-web-server-s3.s3.amazonaws.com/9/catalogue/pears.png"
//};
$.each(data.productVariantImages,function(i, productVariantImages){
pictureList[data.sku] = this.imagePath;
});
console.log(pictureList);
$('.content img').attr({"src":[pictureList[this.value]]});
}
});
return false;
});
然而,当我在ajax文章之外测试它时,它能够运行。
this
的实例是ajax成功功能范围的更改。
在该行$('.content img').attr({"src":[pictureList[this.value]]});
this
不是selectVariant
元素的实例。
通常的做法是声明一个变量that
,并在其他范围中使用该变量。请尝试以下代码。
$('#selectVariant').change(function () {
var sku = $('#selectVariant :selected').val();
var sessionId="<?php echo $sessionId; ?>";
var dataString='sku='+ sku +'&sessionId='+sessionId;
var that = this;
$.ajax({
type:"post",
url: "<?php echo $base_url; ?>ajax-helper/search_variant.php",
data:dataString,
cache:false,
dataType: "JSON",
success: function(data){
var pictureList = {};
//example of my data list
//var pictureList = {'Apple SKU2': "http://tos-staging-web-server-s3.s3.amazonaws.com/9/catalogue/apples_in_season.png",
//'Pear1': "http://tos-staging-web-server-s3.s3.amazonaws.com/9/catalogue/pears.png"
//};
$.each(data.productVariantImages,function(i, productVariantImages){
pictureList[data.sku] = this.imagePath;
});
console.log(pictureList);
$('.content img').attr({"src":[pictureList[that.value]]});
}
});
return false;
});
相关文章:
- Image赢得't隐藏在滚动jQuery上
- Onchange没有'不要显示或隐藏Div
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- image.onload事件和浏览器缓存
- SVG xml to image
- onChange 函数更改表中显示的数据
- Javascript onchange()函数不起作用
- 在表单OnChange中交换数字顺序
- onchange值为select的重载页面
- 如何在sap.m.Image元素上创建可点击区域
- 如何使用jquery或javascript在image src中添加域url
- Javascript:如何在onChange事件期间更改日期时间值
- Change image src onchange og Select
- 无法更改ajax成功返回时的image-onChange函数