2014-12-17 2 views
0

У меня есть KendoUI MultiSelect виджет инициализируется следующим образом:Значение настройки программно в KendoUI MULTISELECT

$("#" + key).kendoMultiSelect({ 
     placeholder: placeholder, 
     dataTextField: dataText, 
     dataValueField: dataValue, 
     filter: "contains", 
     autoBind: false, 
     dataSource: { 
      type: "jsonp", 
      transport: { 
       read: { 
        url: urlValue 
       } 
      }, 
      error: function(e) { 
       console.log(e); 
      } 
     }, 
     value: GetSavedJSONObject(key), 
     //value: [ 
       //{ Name: "Chang", Id: 2 }, 
       // { Name: "Uncle Bob's Organic Dried Pears", Id: 7 } 
      //], 
     select: removeMark, 
     change: multiselect_checkForChanges, 
     autoClose: isAutoClose 
    }); 

где GetSavedJSONObject (ключ) представляет собой массив объектов, как это:

[Object { Id=1, Name="AA"}, Object { Id=2, Name="BB"}] 

Вопрос Я m сталкивается, когда страница загружается, я вижу «AA» и «BB» в виджетах мультиселектов, и вызов не поступает на URL. Однако, когда я пытаюсь добавить больше элементов в виджет, их нельзя добавить, потому что виджет считает, что единственными доступными элементами являются элементы, которые я указал в поле «значение» виджета во время инициализации.

В демо-версии Server Filtering вы увидите, что пример устанавливает значение виджета точно так же, как и я, но когда вы пытаетесь добавить больше элементов в виджет, тогда вызывается для URL-адреса для получения большего количества данных, а виджет открывается.

Я уверен, что это ошибка пользователя, но мне просто нужны указатели на то, что нужно сделать дальше, чтобы заставить виджет отображать остальную часть данных.

EDIT: Когда я GetSavedJSONObject (ключ) возвращает массив идентификаторов так

[1,2,3] 

Я был в состоянии нажать на виджете, чтобы получить остальные данные. Однако желаемый результат заключается в том, чтобы установить значения виджета (потому что у меня есть пары Id/Name) без, чтобы сделать звонок к источнику данных и, имея возможность нажимать на виджет, чтобы получить остальное данных)

ответ

0

Сохранение моего массива объектов и установка атрибута serverFiltering: true устранили проблему. Надеюсь, это спасет чужое время. sigh

Смежные вопросы