jQuery为数组赋值给出错误未定义的变量

时间:2015-01-20 06:57:30

标签: javascript jquery

我正在为forloop中的数组赋值但是它给出了一个错误,即数组变量是未定义的。以下是我的代码。

$(document).ready(function(){

   $("#SubmitBtn").live('click',function(){

        var cnt = $("#TotalCnt").val();
        var data = [];

        for(var i=1; i<=cnt; i++)
        {
           var fname = $('#fname_'+i).val();
           var lname = $('#lname_'+i).val();
           var address = $('#address_'+i).val();

           data[i]["fname"] = fname;
           data[i]["lname"] = lname;
           data[i]["address"] = address;
        }

   });

}); 

当我为数组赋值时,它会给出错误“data [i]未定义”

1 个答案:

答案 0 :(得分:3)

首先尝试创建一个空对象,因为最初data[i]undefined。 undefined不包含任何属性。

$(document).ready(function(){

   $("#SubmitBtn").live('click',function(){

        var cnt = $("#TotalCnt").val();
        var data = [];

        for(var i=1; i<=cnt; i++)
        {
           var fname = $('#fname_'+i).val();
           var lname = $('#lname_'+i).val();
           var address = $('#address_'+i).val();
           data[i] = {};
           data[i]["fname"] = fname;
           data[i]["lname"] = lname;
           data[i]["address"] = address;
        }

   });

});