0

データを多次元配列またはオブジェクトに格納し、データをコントローラーに送信したいと考えています。次のようにJavaScriptでオブジェクトを定義しました

    var dynamicprofile = new Object();


        var certidarry = [];
        var trueorfalse = [];
        dynamicprofile.profilename = "certifications";
        $(".certclass").each(function (index, element) {
            certidarry.push(i);

            if (element.checked == false) {
                trueorfalse.push(false);                   
            }
            else if (element.checked == true) {
                trueorfalse.push(true);
            }
        });
        dynamicprofile.idarray = certidarry;
        dynamicprofile.trueorfalse = trueorfalse;


        dynamicprofile.profilename = "projects";
        var projectidarry12 = [];
        var trueorfalsearry12 = [];
        $(".Projectsclass").each(function (index, element) { 
            projectidarry12.push(index);               
            if (element.checked == false) {
                trueorfalsearry12.push(false);
            }
            else if (element.checked == true) {
                trueorfalsearry12.push(true);
            }
        });
        dynamicprofile.idarray = projectidarry12;
        dynamicprofile.trueorfalse = trueorfalsearry12;

コンテンツを見るとjson、最新の情報だけが表示されています。以前に保存されたコンテンツは表示されていません。コンテンツを保存するにはどうすればよいですか。

4

2 に答える 2

1

問題は、dynamicprofile.profilename、dynamicprofile.idarray、および dynamicprofile.trueorfalse をオーバーライドしていることです。

おそらく、これらのソリューションのいずれかを試すことができます。

1.

 var dynamicprofile = new Object();

    var certidarry = [];
    var trueorfalse = [];
    dynamicprofile['certifications'] = {};
    $(".certclass").each(function (index, element) {
        certidarry.push(index);

        if (element.checked == false) {
            trueorfalse.push(false);                   
        }
        else if (element.checked == true) {
            trueorfalse.push(true);
        }
    });
    dynamicprofile['certifications'].idarray = certidarry;
    dynamicprofile['certifications'].trueorfalse = trueorfalse;

    dynamicprofile['projects'] = {};
    var projectidarry12 = [];
    var trueorfalsearry12 = [];
    $(".Projectsclass").each(function (index, element) { 
        projectidarry12.push(index);               
        if (element.checked == false) {
            trueorfalsearry12.push(false);
        }
        else if (element.checked == true) {
            trueorfalsearry12.push(true);
        }
    });
    dynamicprofile['projects'].idarray = projectidarry12;
    dynamicprofile['projects'].trueorfalse = trueorfalsearry12;

--

2.

 var dynamicprofile = [];

 var certidarry = [];
 var trueorfalse = [];

 $(".certclass").each(function (index, element) {
      certidarry.push(index);

      if (element.checked == false) {
          trueorfalse.push(false);                   
      }
      else if (element.checked == true) {
          trueorfalse.push(true);
      }
 });
 dynamicprofile.push({ 
  profilename: "certifications",
  idarray: certidarry,
  trueorfalse: trueorfalse
 });

 var projectidarry12 = [];
 var trueorfalsearry12 = [];
 $(".Projectsclass").each(function (index, element) { 
     projectidarry12.push(index);               
     if (element.checked == false) {
         trueorfalsearry12.push(false);
     }
     else if (element.checked == true) {
         trueorfalsearry12.push(true);
     }
 });
 dynamicprofile.push({ 
  profilename: "projects",
  idarray: projectidarry12,
  trueorfalse: trueorfalsearry12
 });
于 2013-10-24T15:58:31.623 に答える
0

あなたは次の方法でそれを行うことができます

 var a=new Array();
    for(vr i=0;i<10;i++)
    {
     a[i]=new Array();
    a[i][0]='value1';
    a[i][1]='value2';
    }
于 2013-10-24T15:28:06.070 に答える