Мне нужно использовать чистый JavaScript, чтобы выбрать опцию из элемента select, который оказывается привязанным к наблюдаемому объекту пользовательского интерфейса Kendo (MVVM), и мне нужно обновить связанную модель представления.
<select id="titleField" data-bind="value: Title" >
<option value=""></option>
<option value="Mr.">Mr.</option>
<option value="Ms.">Ms.</option>
<option value="Dr.">Dr.</option>
</select>
Я пробовал:
document.getElementById('titleField').value='Mr.';
, а также:
var sel = document.getElementById('titleField');
var opts = sel.options;
for (var opt, j = 0; opt = opts[j]; j++) {
if (opt.value == 'Mr.') {
sel.selectedIndex = j;
break;
}
}
Они оба задают поле, однако привязка MVVM не обновляется.
Если модель представления незатем обновляется, когда запись сохраняется, выбранное значение не сохраняется.
Обычно я напрямую манипулирую моделью представления и использую двустороннее связывание, что-то вроде этого:
myViewModel.Set("Title", "Mr.");
Однако я не могу этого сделать, потому что я работаю с браузерной реализацией CefSharp и не обязательно буду знать, что Kendo UI использует или не заботится об этом.
РЕДАКТИРОВАТЬ: мне пришло в голову, что, возможно, вышеприведенное должноработали, но происходили некоторые другие странности, такие как проблема с синхронизацией, поэтому я проверил это на веб-сайте (загруженный страницей javascript), и, действительно, он не обновляет модель представления, используя описанные выше методы.