2017-07-17 7 views
0

からJSONを作成し、私のバイオリンです:DEMOはここでダイナミックHTMLフォーム

私はJSONは「保存アクション」とするとき、カテゴリが「SMS」でのクリックで以下のようになりたいです。私はこれを達成することができません。

また、フォームフィールドはカテゴリの変更時に変更されます。

{ 
    "name": "", 
    "category": "SMS", 
    "description": "", 
    "apiUrl": "", 
    "apiMethod": "GET", 
    "apiPayload": { 
    "senderName": "", 
    "number": "", 
    "message": "" 
    }, 
    "@class": "action" 
} 

ご協力いただければ幸いです。ありがとう:)

答えて

0

apiPayloadreduceコールバック関数の外に移動します。 reduce loopの後に値を割り当てます。

$('#saveActions').on('click', function(e) { 

    var apiPayload = {}; 

    var jsonData = $('form.form-horizontal#events') 
     .find(':input:not(button):not(#new-option-event)').get() 
     .reduce(function(acc, ele) { 
      if (ele.closest('.payload')) { 
      var i = 0; 
      apiPayload[ele.name] = ele.value.trim(); 
     } else { 
      acc[ele.name] = ele.value.trim(); 
     } 
     return acc; 
    }, {}); 
    jsonData['apiPayload'] = apiPayload;//assign value 
    jsonData['@class'] = "action"; 

    alert(JSON.stringify(jsonData, null, 4)); 
}); 
関連する問題