2016-06-29 3 views
1

Я хочу, чтобы добавить динамические параметры к типу SweetAlert2 ввода выбрать, который выглядит следующим образом:SweetAlert2 добавить динамические параметры для выбора входного

swal({ 
title: 'Select Ukraine', 
input: 'select', 
inputOptions: { 
    'SRB': 'Serbia', 
    'UKR': 'Ukraine', 
    'HRV': 'Croatia' 
}, 
inputPlaceholder: 'Select country', 
showCancelButton: true, 
inputValidator: function(value) { 
    return new Promise(function(resolve, reject) { 
    if (value === 'UKR') { 
     resolve(); 
    } else { 
     reject('You need to select Ukraine :)'); 
    } 
    }); 
} 
}).then(function(result) { 
    swal({ 
    type: 'success', 
    html: 'You selected: ' + result 
    }); 
}) 

Вместо этих 3-х стран, которые я хочу добавить свои собственные параметры, которые сохраняются в объект. Как я могу это сделать с помощью javascript?

+0

Что вы подразумеваете под «динамическими параметрами»? –

+0

@Andrei Zamfir: «Мои собственные параметры, которые сохраняются в объекте», эквивалентен «var savedObject = {'value_1': 'name_1', 'value_2': 'name_2', 'value_3': 'name_3'}', не так ли? –

+0

yup, вот что я имею в виду –

ответ

0

Возможно, вы попытаетесь создать объект опций, подобный этому.

function linkThing() { 

     //this i assume would be loaded via ajax or something? 
     var myArrayOfThings = [ 
      { id: 1, name: 'Item 1' }, 
      { id: 2, name: 'Item 2' }, 
      { id: 3, name: 'Item 3' } 
     ]; 

     var options = {}; 
     $.map(myArrayOfThings, 
      function(o) { 
       options[o.id] = o.name; 
      }); 

     swal({ 
      title: 'My Title', 
      text: 'Please select an option', 
      input: 'select', 
      inputOptions: options, 
      showCancelButton: true, 
      animation: 'slide-from-top', 
      inputPlaceholder: 'Please select' 
     }).then(function (inputValue) { 
      if (inputValue) { 

       console.log(inputValue); 

      } 
     }); 
    };