javascript - 制作对象数组时的封装问题

标签 javascript jquery arrays object

有人介意向我解释一下为什么吗...

$(document).ready(function() {
    var scu = ['0291285', '0409338', '0521704', '0521990', '0523652', '0523657', '0523660', '0523704'];
    var inData = $('#output');
    var testdiv = $('#testdiv');
    function Item(scu, description, price, extended, type) {
        this.scu = scu;
        this.description = description;
        this.price = price;
        this.extended = extended;
        this.type = type;
        //this.saved = function() {};
    }
    var rows = [];
    function get() {
        inData.html('');    
        $.each(scu, function(index, val) {
            $.post('chBuild.php', {scu:val}, function(output) {
                $.each(output, function(i, obj) { 
                    var i = 0;
                    rows[i] = new Item(obj.scu, obj.description, obj.price, obj.extended, obj.type);
                    console.log(rows[i].price)
                                    //this logs every object but...                 

                    i =+ 1;
                });
            }, 'json');         
        });
        console.log(rows[0].price);

            //this says rows[0] is undefined?

    }
    inData.click(get);
});

我正在尝试找到创建和存储多个对象的最佳方法。

最佳答案

$.post('chBuild.php', {scu:val}, function(output) {
            $.each(output, function(i, obj) { 
                var i = 0;
                rows[i] = new Item(obj.scu, obj.description, obj.price, obj.extended, obj.type);
                console.log(rows[i].price)
                i =+ 1;
            });
        }, 'json');         

这里对 $.post 的调用是异步的,将在 ajax 调用返回时填充。也许你应该让它同步

$.ajax({'url': 'chBuild.php', 'async': false, ...);

关于javascript - 制作对象数组时的封装问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10867337/

相关文章:

javascript - 如何在不影响页面内容的情况下刷新页面

javascript - jquery-如何验证签名输入?

jquery - 如何在错误jquery验证时更改输入字段的背景颜色

Javascript:如何检查对象数组是否只有一项具有给定值?

java - 需要将我的 HashSet 的大小显示到 TextView

javascript - react : set State or set Prop without a Rerender

javascript - 在 AngularJS 中第一次使用服务 promise 的旧响应的 Controller 方法

javascript - 按名称快速排序数组没有一个

javascript - 如何用旋转背景图像填充浏览器窗口?

c++ - 访问数组之外​​的内存,二叉堆树