2016-08-04 6 views
0

タイトルについて残念です - それを他の方法で説明する方法はわかりませんでした。しかし、私はこのようなオブジェクトを初期化しています:別のオブジェクトのキーに値として複数のオブジェクトを追加

var form = {}; 
form.title = 'Titel'; 
form.fields = { type: 'radio', label: 'First name', id: 1 } 

その後、私は、オブジェクトに追加している:

form.fields.choices = { text : "Standard", value : "Standard" , isSelected : false, price : ''}; 

私に次の配列与えること:しかし

を、私は次のように選択肢キーに複数の配列を追加します:

Array (
    [title] => Titel 
    [fields] => Array 
     (
      [type] => radio 
      [label] => First name 
      [id] => 1 
      [choices] => Array(
       Array (
        [text] => Standard1 
        [value] => Standard1 
        [isSelected] => false 
        [price] =>), 
       Array (
        [text] => Standard2 
        [value] => Standard2 
        [isSelected] => false 
        [price] =>) 

       ) 
      ) 

) 

どうすれば達成できますか?

+0

あなたは2番目のコードブロック内のオブジェクトや配列を切り替えます。 form.fields.choicesを配列またはオブジェクトにしますか? – joh04667

+0

注:連想配列ではなく、単なるオブジェクトです。 – gcampbell

+0

配列やオブジェクトが必要かどうかはわかりません。私はAjaxを使ってPHPに送っています。ここでは、次のような構造にする必要があります:http://pastebin.com/T83H5S8C – user2806026

答えて

2

オプション配列

form.fields.choices = [] 

その後、

form.fields.choices[0] = { text : "Standard", value : "Standard" , isSelected : false, price : ''} 

form.fields.choices[1] = { text : " Standard 2", value : "Standard" , isSelected : false, price : ''} 
+1

または、 'choose.push({...})'を使いたくない場合キーをつぶす – PeterPan666

+0

または 'form.fields.choices = [{text:"標準 "、値:"標準 "、isSelected:false、price: ''}、{text:" Standard 2 " 、値: "Standard"、isSelected:false、price: ''}]; ' – GBreen12

+0

Hmm。私はそれをすることで得られる鍵は、何かを台無しにしていると思います。完成した配列をajaxでPHPに送ります。私のPHPスクリプトでは、この構造を模倣する必要があります:http://pastebin.com/T83H5S8C – user2806026

0

にこのような何かを作りますか?増分値と別の配列をそれに応じて追加します。

var choices = []; 

    const choice = { 
     <values> 
    }; 

    Object.keys(choice).forEach((key, index) => { 
     if (data.search(key) !== -1) { 
      choices.push(choice[key]); 
     } 
    }); 
0
var form = []; 

var form_object = {}; 
form_object.title = "Title"; 
form_object.fields = []; 

var field_object = {}; 
field_object.type = "Radio"; 
field_object.label = "First name"; 
field_object.id = 1; 
field_object.choices = []; 

var choice_object1 = {}; 
choice_object1.text = "Standard"; 
choice_object1.value = "Standard"; 
choice_object1.isSelected = false; 
choice_object1.price = ''; 

var choice_object2 = {}; 
choice_object2.text = "Standard 2"; 
choice_object2.value = "Standard 2"; 
choice_object2.isSelected = false; 
choice_object2.price = ''; 

field_object.choices.push(choice_object1); 
field_object.choices.push(choice_object2); 

form_object.fields.push(field_object); 

form.push(form_object); 
関連する問題