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

标签 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}

最佳答案

尝试使用事件委托(delegate)来确保使用新数据:

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

关于javascript - 多次下拉选择后更新页面部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307745/

相关文章:

javascript - for循环中的进度条

javascript - Web Components(原生 UI)之间如何通信?

php - 如何在 jquery 中以 json 形式获取数据时 float 数字?

javascript - 使用 jQuery : How to slice from an array and organize 3 rows (imgs. 长度/3) 组织 HTML "items",其中每个项目都有

javascript - 我的 Jquery 变量无法识别内部的其他变量

javascript - 即使检查了权限、限制和文件大小,Php 也无法打开流

javascript - Draw2d 文本类型在 ui-bootstrap Accordion angularjs 应用程序中未正确显示

javascript - 获取 jQuery 中选定行的特定元素值

javascript - 如何使用 Ajax 重新加载从页面返回特定表

javascript - XMLHttpRequest 的 readystate 属性是否可编辑?