jQuery脚本只运行一次



我有这一点jQuery,可以通过googleapi控制货币转换器。转换器采用已定义的金额,并在您从下拉框中选择不同货币时转换金额,但它只会执行一次,并且您必须刷新以选择另一种货币。

$(document).ready(function() {
    $('.data').change(function(){
        var cost = $('.itemExtraFieldsValue').html();
        var amount = Number(cost.replace(/[^0-9.]+/g,""));     
        var from = "GBP";
        var to = $('#toCurrency').val();
        var dataString = "amount=" + amount + "&from=" + from + "&to=" + to;
        $.ajax({
            type: "POST",
            url: "ajax_converter.php",
            data: dataString,
            success: function(data){
                $('.itemExtraFieldsValue').replaceWith(data);
            }
        });
    });
});

我该怎么做才能让你继续使用各种货币?谢谢

编辑。对不起,应该把html放在上

<div id="currencyBox">
    <div class="tractor">
        <span class="itemExtraFieldsValue">£27000</span>
    </div>
    <div class="data">
        <select name="toCurrency" id="toCurrency">
            <option value="USD">United States Dollars - USD</option>
            <option value="GBP" selected>United Kingdom Pounds - GBP</option>
            <option value="CAD">Canada Dollars - CAD</option>
            <option value="AUD">Australia Dollars - AUD</option>
        </select>
    </div>
</div>

编辑2。

这是我的测试页面的链接,给出的价格是预定义的

http://bettondesignwork.co.uk/tim/currency/

查看您的链接,它找不到类为itemExtraFieldsValue的元素,因为在进行第一次调用时,由于您使用了replaceWith,它将被替换。试试这个:

function(data){
    $('.itemExtraFieldsValue').html(data);
}

.data是您选择框的错误选择器,div没有更改事件,因此无法工作
您应该更改

$('.data').change(function(){

$('.data select').change(function(){

$('#toCurrency').change(function(){

在哪种情况下你可以使用

var to = $(this).val();

作为您的价值。

$('select').on("change", function(){
    // your stuff here
});

相关内容

  • 没有找到相关文章

最新更新