Select2 в Xpages Невозможно добавить новое значение: ошибка "Ошибка проверки: значение недопустимо"
Я использую Select2 (4.0) в XPage. У меня есть ComboBox, значение которого привязано к свойству в bean-компоненте, а выбранные элементы заполняются (на данный момент) переменной viewScope, которую я заполняю до загрузки страницы.
Пользователь может ввести новое значение, но когда я сохраняю данные, я получаю ошибку проверки:
Это не ошибка валидации, которую я написал, а из Xpages. Хотя я могу ввести новое значение ("Apple") при сохранении страницы, он отображает эту ошибку и удаляет мое новое значение.
Я считаю, что это как-то связано с тем, что новое значение отсутствует в списке возможных значений, но я не уверен.
Я нашел другие сообщения, в которых предлагалось добавить новое значение в список значений перед отправкой страницы. Я попробовал это, но это тоже не сработало.
Мне действительно нравится select2 и я хочу использовать его для всех comboBox и ListBoxes, но во многих случаях использование требует ввода новых значений.
Код для комбинированного списка:
<xp:comboBox id="model"
value="#{javascript:PCModel.model}" xp:key="field">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:viewScope.models}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
И мой блок скриптов:
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[$(document).ready(
function()
{
x$("#{id:model}").select2({
tags: true,
createTag: function (params) {
return {
id: params.term,
text: params.term,
newOption: true
}
;},
templateResult: function (data) {
var $result = $("<span></span>");
$result.text(data.text);
if (data.newOption) {
$result.append(" <em>(new)</em>");
}
return $result;
}
}
)
}
)]]></xp:this.value>
</xp:scriptBlock>