我有一个带有送货选项的选择下拉菜单。我希望在用户更改选项后多次选择送货选项后更新目标ID。目前该选项只会更新一次。
使用{}的变量标签来自ExpressionEngine,但我不确定这种情况是否与EE有关。
代码如下:
HTML:
<tr>
<th>
<span>Shipping:</span>
<select name="shipping_method" id="shipping_method">
<option value="">Select shipping method...</option>
{shipping_method_options}
</select>
</th>
<th id="js-shipping-price">
{order_shipping}
</th>
</tr>
JS:
$('#shipping_method').change(function() {
var url = $(this.form).attr('action');
var data = $(this.form).serialize();
$.post(url, data, function() {
$('#js-shipping-price').load('/global/shipping-price');
});
return false;
});
由于我不熟悉jQuery,上面的代码主要来自:How to implement AJAX “add to cart” with Expresso Store?
尝试删除return: false;
,因为我不确定在这种情况下是否需要(我不确定),但结果相同。
编辑:
/global/shipping-price
是一个EE变量标签,用于返回所选选项的运费值:
{exp:store:checkout}{order_shipping}{/exp:store:checkout}
答案 0 :(得分:0)
尝试使用事件委派来确保正在使用新数据:
$(document).on('change', '#shipping_method', function() {
...
});