0

我正在使用 extjs4 MVC。我在哪里卡住了* 。这是如何在 extjs4 中定义对象数组并为其设置值以及从该对象中检索值。*我试过了,但还没有解决。假设我有 Qusetion 论文。它显示了一些带有选项的问题。我有正确选择的选项的问题。但我没有成功将它存储在正确的模型实例中。我知道如何将单个记录存储到特定的模型实例。但我不知道如何将重复值存储到特定模型对象。我如何解决这个问题。

1)这是我的一些控制器文件代码

temp:function()
    {
        var obj = Ext.create('Demo.model.Poll');
        for(var i=0;i<4;i++)
        {
                var inputs = document.getElementsByName(i); 
                var radio = "";  
                for (var j = 0; j < inputs.length; j++) {
                    if (inputs[j].checked) {
                        name = inputs[j].name;
                        value  = inputs[j].value;
                        //console.log("questionId="+name +" value="+ value);
                        check.set('poll',name);
                        check.set('option',value);
                    }// End of if statment
                }// End of inner for loop
          }//End of outer for loop

        //Here I am going to display values inside object  
        console.log("----------------------------------");
          for(var i=0;i<4;i++)
          {
              console.log(i);
              console.log(check.get('poll'));
              console.log(check.get('option'));
          }
    //Is it possible to save object array to server side in single save method
    //  obj.save();

}// End of temp function

2)运行此代码后,我得到了模型的最后一个设置值。在萤火虫中,我得到了这个结果。例如。

3 
England 

3 
England 

3 
England


3 
England 

请给我一些建议

4

2 回答 2

0

试试看,var myObj = [];

for(.....)
{
   myObj.push(
      {
        'poll' : name, 
        'option' : value
      });
}

访问,

var i;
for(i=0; i<myObj.length; i++)
{
   console.log(myObj[i].poll);
   console.log(myObj[i].option);
}
于 2013-01-30T09:07:39.523 回答
0

我已经找到了我的问题的解决方案,这就是答案。

//code for getting question name and value from view and send to server side in a asingle request
check:function()
{
    //creating objects in javascript
        var storeObject=this.getStore('qb.QbquestionoptionStore');
    for(var i=0;i<=4;i++)
    {
            var inputs = document.getElementsByName(i); 
            var radio = "";  
            for (var j = 0; j < inputs.length; j++) {
                if (inputs[j].checked) {
                    name = inputs[j].name;
                    value  = inputs[j].value;
                    console.log("questionId="+name +" value="+ value);
                        var check = Ext.create('Balaee.model.qb.QbquestionoptionModel');
                        check.set('questionId',name);
                        check.set('option',value);

                    storeObject.add(check);
                  //console.log("User Infooooooooo: option="+check.get('option')+"questionId="+check.get('questionId'));
                }// End of if statment
            }// End of inner for loop
      }//End of outer for loop
    // code to display data in store object 
      for(var i=0;i<4;i++)
      {
          var record=storeObject.getAt(i);
          console.log("record no="+i);
          console.log("Qusetion Id="+record.get('questionId'));
          console.log("Option="+record.get('option'));
          console.log();
      }
      storeObject.sync();
}// End of check function
于 2013-02-01T07:44:47.450 回答