Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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对象结构_Javascript_Jquery - Fatal编程技术网

Javascript对象结构

Javascript对象结构,javascript,jquery,Javascript,Jquery,我有一个收集员工生产数据的表格,代码如下: $(document).on('click','input#Apply.btn.btn-success',function(e){ var TableData; TableData = storeTblValues(); var TableData1 = []; $.each(TableData,function(index,value){ if(value.quantity &&

我有一个收集员工生产数据的表格,代码如下:

$(document).on('click','input#Apply.btn.btn-success',function(e){

    var TableData;
    TableData = storeTblValues();  
    var TableData1 = [];

    $.each(TableData,function(index,value){

        if(value.quantity && value.quantity >0 && value.quantity < 65535){    
            TableData1[index]={

               "employee_id" : value.employee_id
            ,  "operation_id" : value.operation_id
            ,  "quantity" : value.quantity       
            }

        }   
            }); 
    // retrieving employee_id to fetch date data from date input          
    $.each(TableData1,function(index,value){         
         employee_idj = value.employee_id;
        }); 

    $('#cboxClose').click(); 
    var datee = dateConvToMySqlDate($('input#dateOfProduction_'+employee_idj+'.dateOfProduction_.hasDatepicker').val());
    if(!datee){alert(dateMessager);e.preventPropagation();return false;}
    var noOfRecords = TableData1.length;

    for(i=0;i<noOfRecords;i++)
    {TableData1[i]['production_date'] = datee;}

    var TableData1 = $.toJSON(TableData1); 
    alert(JSON.stringify(TableData1));
    var qurl = '<?php echo base_url();?>production_entry/submitData';
    $.ajax({
    url: qurl,
    type: "POST",    
    data:"pTableData=" + TableData1,           
    success: function(data){

            var data = $.parseJSON(data);
            if(data.status == 'error')
            {
            alert(data.errorMessage);   
            }else{ 
            alert(noOfRecords+' records sent and '+' '+data.successMessage);

              $('#tr_'+employee_idj).fadeOut();
            }
          }
    });

    function storeTblValues()
    {    

        var TableData = new Array();

        $('#searchOperationTable tr').each(function(row, tr){

         var x = parseInt($(tr).find("input.quantity").val());   

            if(x){
            TableData[row]={

               "employee_id" : parseInt($(tr).find("input.hiddenemployeeId").val())
            ,  "operation_id" : parseInt($(tr).find('td:eq(0)').text())
            ,  "quantity" : parseInt($(tr).find("input.quantity").val())       
            }
        }
            }); 
            TableData.shift();
            return TableData;
    }

});
脚本停止工作。我想消除这个空值。怎么办?

如果输入0时(x)为false,则检查
,因此不会为该项设置
TableData[row]
。相反,请使用
数组设置TableData。推送

     if(x){
        TableData.push({
           "employee_id" : parseInt($(tr).find("input.hiddenemployeeId").val())
        ,  "operation_id" : parseInt($(tr).find('td:eq(0)').text())
        ,  "quantity" : parseInt($(tr).find("input.quantity").val())       
        })
     }

如果不关心数组的索引值,则可以使用
push(value)
而不是
array[index]=value
。 比如我的例子:

TableData.push({
    "employee_id" : parseInt($(tr).find("input.hiddenemployeeId").val()),
    "operation_id" : parseInt($(tr).find('td:eq(0)').text()),
    "quantity" : parseInt($(tr).find("input.quantity").val())       
});`
TableData.push({
    "employee_id" : parseInt($(tr).find("input.hiddenemployeeId").val()),
    "operation_id" : parseInt($(tr).find('td:eq(0)').text()),
    "quantity" : parseInt($(tr).find("input.quantity").val())       
});`