Combobox возвращает пустую строку вместо элемента с ID=0

У меня возникла проблема с полем со списком Webix: у меня есть набор данных

{id:0, value:'Banana'},
{id:1, value:'Apple'},
{id:2, value:'Cucumber'},
{id:3, value:'Tomato'} //, etc.

Но когда я пытаюсь установить первое значение в качестве начального, фактическое значение остается пустым, например.

{
   view:"combo", id:'combo',
   options:my_options,
   value:0
}

getValue() возвращает пустую строку, но если ID не 0, все работает хорошо. Кто-нибудь знает, почему это происходит?

Вот фрагмент http://webix.com/snippet/5d2f09db.

Есть обходной путь или я пропустил что-то важное?


person Nathan Leland    schedule 25.02.2016    source источник
comment
Не уверен, почему это не сработает, если для идентификатора установлено значение 0,1,2, но вы можете выбрать их, если измените на a, b, c... Возможно, 0 возвращает false. Измените идентификатор на что-то другое, и это позволит вам выбрать первый вариант.   -  person NewToJS    schedule 25.02.2016


Ответы (1)


Похоже, что индекс значения комбинации начинается с 1, попробуйте следующий код.

var combo = webix.ui({
view:"combo",
options:[
{id:"0", value:'Banana'},
{id:1, value:'Apple'},
{id:2, value:'Cucumber'},
{id:3, value:'Tomato'}
],
value:0
});     

console.log(combo.getValue()); 
person Munna Extreme    schedule 25.02.2016
comment
Это определенно работает, но я хотел бы точно знать, есть ли способ использовать 0 в качестве идентификатора или нет, в моем случае это очень важно - person Nathan Leland; 25.02.2016
comment
он не допустит 0, он допускает строку или число, которое больше 0, если вы хотите, чтобы он работал с 0, проверьте отредактированный код выше. - person Munna Extreme; 25.02.2016