Я использую подключаемый модуль jquery select2 для переформатирования моих длинных параметров выбора. Все работает так, как ожидалось, за исключением случаев, когда я отправляю форму, значение id
сохраняется как значение вместо значения (в данном случае lang
). Я не могу понять, что я делаю неправильно.
Вот как выглядит скрипт:
var langs=[{id:0,lang:'English'},
{id:1,lang:'Afrikaans'},
{id:2,lang:'Albanian'},
{id:3,lang:'Zulu'}];
function format(item) { return item.lang; };
$("#field_4").select2({
placeholder: "Select your language",
data:{ results: langs, text: 'lang' },
formatSelection: format,
formatResult: format
});
Вот разметка:
<input id="field_4" name="field_4" type="text" class="regular-text " value="3" />
Когда я регистрирую возвращаемое значение в консоли, я вижу это:
{Object}
O: Object
id: "1"
text: "Afrikaans"
ОБНОВЛЕНИЕ: я немного продвинулся в этом вопросе. Если я добавлю следующее в объект конструктора (для select2), я смогу сохранить правильные значения (вместо id
). Однако это не работает, когда я добавляю к <select>
s, которые используют AJAX для получения параметров.
id : function(object) {
return object.lang;
}
lang
- это текст, а не значение. - person Dave Newton   schedule 12.02.2013text:
, и это делает параметры недоступными для выбора. - person emersonthis   schedule 12.02.2013