0

我收到以下 jquery 错误:“未捕获的 TypeError:对象 [object Object] 的属性 'setCurrency' 不是函数”,我无法理解。当您尝试更改货币时会发生错误:http: //aaronjpitts.com/temp/petiteannee

setCurrency 函数定义为:

jQuery(document).ready(function ($) {

    function setCurrency(id_currency)
    {
        $.ajax({
            type: 'POST',
            headers: { "cache-control": "no-cache" },
            url: baseDir + 'index.php' + '?rand=' + new Date().getTime(),
            data: 'controller=change-currency&id_currency='+ parseInt(id_currency),
            success: function(msg)
            {
                location.reload(true);
            }
        });
    }

});

我不得不将我的一些函数包装在 jquery noconflict 函数中以使事情正常工作 jQuery(document).ready(function ($)

我确定这与错误有关。谁能看到这个错误是如何产生的?该网站建立在 prestashop 上。

非常感谢

4

1 回答 1

1

setCurrency声明移到准备好的文档之外。

例所示,onclick 引用找不到在 document ready 中声明的函数。

$(document).ready(function () {
    function test1(x) {
        // I'm not working
    }

});

function test2(y) {
    // I am working!
    console.log(y);

}
于 2013-10-21T09:45:37.793 回答