1

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

$(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/

4

3 回答 3

1

查看您的链接,它找不到带有类的元素,itemExtraFieldsValue因为在第一次调用时它正在被替换,因为replaceWith您已经使用了。试试这个:

function(data){
    $('.itemExtraFieldsValue').html(data);
}
于 2013-08-08T11:36:30.360 回答
0

.data是您选择框的错误选择器,并且div没有更改事件,因此无法正常工作。
你应该改变

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

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

或者

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

在这种情况下,您可以使用

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

作为你的价值。

于 2013-08-08T11:37:27.813 回答
0
$('select').on("change", function(){
    // your stuff here
});
于 2013-08-08T11:37:54.477 回答