【发布时间】:2012-11-03 20:49:59
【问题描述】:
$(document).ready(function() {
$('#pricingEngine').change(function() {
var query = $("#pricingEngine").serialize();
$('#price').fadeOut(500).addClass('ajax-loading');
$.ajax({
type: "POST",
url: "index.php/welcome/PricingEngine",
data: query,
dataType: 'json',
success: function(data)
{
$('#price').removeClass('ajax-loading').html('$' + data.F_PRICE).fadeIn(500);
$('#sku').attr('value') = (data.businesscards_id);
}
});
return false;
});
});
需要将#sku 设置为隐藏表单字段的值(不确定我在上面的 jQuery 代码中是否正确。
<input type="hidden" name="sku" id="sku" value="*/PUT VAR VALUE HERE/*" />
还需要将F_PRICE传递给#price div。
Chrome 中的控制台将 JSON 响应显示为:
[
{
"businesscards_id":"12",
"X_SIZE":"1.75x3",
"X_PAPER":"14ptGlossCoatedCoverwithUV(C2S)",
"X_COLOR":"1002",
"X_QTY":"250",
"O_RC":"NO",
"F_PRICE":"12490",
"UPS_GROUND":"12000",
"UPS_TWODAY":"24000",
"UPS_OVERNIGHT":"36000"
}
]
但我只在价格框中看到“未定义”。这是什么原因?
【问题讨论】:
-
只需在 ajax 响应/成功方法中使用
shift(),n 代码就可以正常工作。 :)
标签: php javascript jquery ajax