2016-06-17 7 views
0

У меня есть форма alpaca с выбранным элементом ui, где я могу выбрать несколько значений и сохранить форму. Когда я сохраню форму JSON, используя JSON.stringify(val) сгенерированная форма формы имеет проблемы. JSON оказывает только идентификаторы выбранного elements.I хотите JSON, содержащего как идентификаторы и значенияselect html to json conversion

<select id="alpaca4" multiple="multiple" size="5" name="roles" class="alpaca-control form-control"> 
<option value="1">one</option> 
<option value="2">two</option> 
</select> 

Сгенерированный Формат JSON является:

{"roles":["1","2"]} 

Формат РМКО ожидает это:

{"roles":["1":"One","2":"Two"]} 
+1

'[" 1 ":" Один "," 2 ":" Два "]' не является допустимым 'Array-of-Objects' – Rayon

+0

' ["1": "One", "2": "Two "]' недействителен JSON любого типа. – Quentin

+0

«Когда я сохраняю форму json с помощью JSON.stringify (val)» - Как вы определяете 'val'? – Quentin

ответ

1

jQuery#map

var mapped = $('#alpaca4 option').map(function() { 
 
    var obj = {}; 
 
    obj[this.value] = this.textContent; 
 
    return obj; 
 
}); 
 
console.log(mapped.get());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<select id="alpaca4" multiple="multiple" size="5" name="roles" class="alpaca-control form-control"> 
 
    <option value="1">one</option> 
 
    <option value="2">two</option> 
 
</select>

+0

Спасибо за решение. В моей форме есть много других элементов ui вместе с элементом select ui. Мне нужно создать json всей формы, которая может быть достигнута JSON.stringify (val) и json выбранного элемента должен быть таким, как вы предложили. Как это сделать? – ramnar

+0

@ramnar, вы используете 'serialize'? – Rayon

+0

im using var val = this.getValue(); var json = JSON.stringify (val) – ramnar

0

Вы должны сохраняться только значения, а не ярлыки. Альпака делает правильные вещи здесь в соответствии с тем, как работают html-формы.