外部资源未达到功能范围

时间:2015-07-05 16:06:09

标签: javascript function scope

我正在尝试为我的交易网站制作一个库存选择器,但是我在调​​用外部资源方面遇到了一些麻烦。

当最初调用外部函数时,一切正常,但每当我尝试在html中调用函数的外部函数INSIDE时,它就会出错,说

Uncaught TypeError: $(...).imagepicker is not a function

这是我的相关代码。

<script src="~/Scripts/image-picker.js"></script>


<script>
    var name = "HomeguardDev";
    var inventory = [];
    var selectedItems = [];
    $.ajax({
        async: false,
        type: 'GET',
        url: "/Home/getInventory/?username=" + name + "&page=1",
        success: function (data) {
            var parsed = JSON.parse(data);
            for (var i = 0; i < parsed.length; i++) {
                var text = parsed[i].Name;
                inventory[i] = parsed[i];
                if (parsed[i].SerialNumber !== "---") {
                    text = text + " [#" + parsed[i].SerialNumber + " / " + parsed[i].SerialNumberTotal + "]";
                }
                $("#sendingItems").append('<option data-img-label="<small>' + text + '</small>" data-img-src="' + parsed[i].ImageLink + '" value="' + i + '">' + text + '</option>');
            }
        }
    });
    $("#sendingItems").imagepicker({
        show_label: true
    });
    function addItem() {
        if (selectedItems.length < 4) {
            var obj = (inventory[$("#sendingItems").val()]);
            if (!containsObject(obj, selectedItems)) {
                $('#sendingItems option[value="' + ($("#sendingItems").val()) + '"]').remove();
                selectedItems.push(obj);
                $("#sendingItems").imagepicker({
                    show_label: true
                });
            }
        }
    }
</script>
<p><a><input type="button" id="addItemButton" onclick="addItem()" value="Add item" /></a></p>
<p><a><input type="button" id="sendTradeButton" onclick="sendTrade()" value="Send Trade" /></a></p>

调用imagepicker时,函数addItem()内部会发生错误,但在主块中它会调用并正常运行。我做错了什么?

0 个答案:

没有答案