Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery的数据显示问题_Javascript_Jquery - Fatal编程技术网

Javascript jQuery的数据显示问题

Javascript jQuery的数据显示问题,javascript,jquery,Javascript,Jquery,我从ajax调用中获得的XML数据生成表。通话正常,我得到了正确的数据。但是,当我创建表时,第一个表中的数据被添加到第二个表中,然后两个表都被添加到第三个表中,依此类推 代码如下: function loadAcct(acctid,acctName){ //removes the current li elements from our list before making new ones. $("#title-name").app

我从ajax调用中获得的XML数据生成表。通话正常,我得到了正确的数据。但是,当我创建表时,第一个表中的数据被添加到第二个表中,然后两个表都被添加到第三个表中,依此类推

代码如下:

    function loadAcct(acctid,acctName){
            //removes the current li elements from our list before making new ones.



            $("#title-name").append(" - "+acctName);

            //ajax call to the server to get the needed information.

            $.ajax({

                url: "/_admin_/"+ acctid + "-grps.xml",

                contentType: "xml",

                type: "GET",

                async: false,

                success: function(xml){

                    //loop to find the name of the <SavedCart> elements

                    $("#demo").append('<div id="tabs"><ul></ul></div>');

                    $(xml).find('SavedCart').each(function(){

                        $(this).find("Name").each(function(){

                            groupName = $(this).text();

                            groupNameUp = groupName.toUpperCase(groupName);

                            // We only want to output the groups that have CRIB in the name

                            if(groupNameUp.indexOf("CRIB") != -1){

                                $("ul").append("<li><a href=\"#tabs-" + p + "\">" + groupName + "<\/a><\/li>");

                                $(this).parent().find('ItemList').each(function(){

                                    $(this).find('Item').each(function(){

                                        partNums.push( $('PartNumber',this).text())

                                        descs.push( $('Description',this).text())

                                        //cpns.push( $('CustomerPartNumber',this).text())

                                    })

                                })

                                for(c=0;c<partNums.length;c++){
                                    for(d=0;d<pn.length;d++){
                                        if(partNums[c] == pn[d]){
                                            cpns1[c] = cpns[d];
                                            mins1[c] = mins[d];
                                            maxs1[c] = maxs[d];
                                            boxqtys1[c] = boxqtys[d];
                                            break;
                                        }else{
                                            cpns1[c] = "";
                                            mins1[c] = "";
                                            maxs1[c] = "";
                                            boxqtys1[c] = "";
                                        }
                                    }
                                }

                                if (partNums.length > 0){

                                    var table = '<div id="tabs-' + p + '" class = remove><form id="orderform' + p + '" name="orderform' + p + '" action="order.php" method="POST" enctype="multipart/form-data" onSubmit="return checkpo(' + acctid + ', ' + p + ')"><table border="1" cellpadding="10" name="mytable' + p + '" id="mytable' + p + '" class="sortable"><thead><tr><th>On Hand<\/th><th>Eclipse ID<\/th><th>Customer Part Number<\/th><th>Description<\/th><th>Minimum<\/th><th>Maximum<\/th><\/th><th>Box Qty<\/th><th>Amount to Order<\/th><th>Select For Order<\/th><\/tr><\/thead><tbody id="maintablebody" >';

                                    for(l=0;l<partNums.length;l++){

                                        table += '<tr><td><input type="text" id="onhand' + l + '" class="onhand' + l + '" size="5" onchange="autocheckbox(' + l + ')"></td><td>' + partNums[l] + '<\/td><td>' + cpns1[l] + '<\/td><td>' + descs[l] + '<\/td><td class="min' + l + '">' + mins1[l] + '<\/td><td class="max' + l + '">' + maxs1[l] + '<\/td><td class="bxqty' + l + '">' + boxqtys1[l] + '<\/td><td class="tdamt'+ l +'"><input type="text" name="amt[]" id="amt[]" class="amt' + l +'" size="6" onchange="chkfrmamt(' + l + ')" /><\/td><td style="text-align: center;"><input type="checkbox" name="check[]" id="check[]" value="' + partNums[l] + '" class="check' + l +'" onClick="autofill(' + l + ')" /><\/td><\/tr>';

                                    }

                                    table += '<tr><td colspan="8"><label>PO Number:<\/label><input type="text" id="PO" name="PO" class="PO' + p + '" width="20" \/><\/td><\/tr><\/tbody><\/table><div id="submit"><input type="submit" id="sub" value="Order" /><input type="reset" value="Reset" name="reset" /></div><input type="hidden" id="SessID" value="' + sessID + '" name="SessID" \/><input type="hidden" id="eID" value="' + acctid + '" name="eID" \/><\/form><\/div>';

                                    $("#tabs").append(table);

                                    p++;

                                    m = p;

                                }

                            }

                        })
                        //clearArr();
                    })

                }

            })
            for(q=0;q<=m;q++){
                $("table#mytable" + q + " tr:odd").addClass("alt");
            }

            $( "#tabs" ).tabs();
        }

不看XML,我想您可能需要为每个新的
SavedCart
元素重置
partNums
descs
?如果您发布一些xml文件,可能会更清楚您做错了什么

试试这个

 $(xml).find('SavedCart').each(function(){
 partNums = []; 
 descs = []; 

我已经用cleararr()试过了;函数,但它似乎没有帮助。你能在该函数中发布代码吗?你能告诉我如果你把你的代码改成我上面的代码会发生什么吗?好的,看来我已经修好了。我取出了cleararr()函数,将整个表的创建移到find(“itemList”)。each(循环)。非常感谢您的帮助。
function clearArr(){
            mins.length = 0;
            maxs.length = 0;
            namearr.length = 0;
            acctidarr.length = 0;
            partNums.length = 0;
            descs.length = 0;
            cpns.length = 0;
            cpns.length = 0;
            data.length = 0;
            mins1.length = 0;
            maxs1.length = 0;
            cpns1.length = 0;
            pns.length = 0;
            pn.length = 0;
            boxqtys.length = 0;
            boxqtys1.length = 0;
            p = 1; 
        }
 $(xml).find('SavedCart').each(function(){
 partNums = []; 
 descs = [];