多次下拉选择后更新页面部分

时间:2014-03-10 17:57:41

标签: javascript jquery ajax

我有一个带有送货选项的选择下拉菜单。我希望在用户更改选项后多次选择送货选项后更新目标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}

1 个答案:

答案 0 :(得分:0)

尝试使用事件委派来确保正在使用新数据:

$(document).on('change', '#shipping_method', function() {
    ...
});