在Xpages中选择2无法添加新值:错误为“0”;验证错误:值无效";
我正在XPage中使用Select2(4.0)。我有一个组合框,它的值绑定到bean中的一个属性,选择项(目前)由我在页面加载之前填充的viewScope变量填充 用户可以键入新值,但当我要保存数据时,会出现验证错误: 这不是我写的验证错误,而是来自Xpages。虽然我可以在保存页面时输入新值(“Apple”),但它会显示此错误并删除我的新值 我相信这与新值不在可能值列表中这一事实有关,但我不确定 我发现另一个建议,在提交页面之前,我必须将新值添加到值列表中。我试过了,但也没用 我真的很喜欢select2,并希望将它用于所有的组合框和列表框,但在很多情况下需要输入新的值 组合框的代码:在Xpages中选择2无法添加新值:错误为“0”;验证错误:值无效";,xpages,jquery-select2-4,Xpages,Jquery Select2 4,我正在XPage中使用Select2(4.0)。我有一个组合框,它的值绑定到bean中的一个属性,选择项(目前)由我在页面加载之前填充的viewScope变量填充 用户可以键入新值,但当我要保存数据时,会出现验证错误: 这不是我写的验证错误,而是来自Xpages。虽然我可以在保存页面时输入新值(“Apple”),但它会显示此错误并删除我的新值 我相信这与新值不在可能值列表中这一事实有关,但我不确定 我发现另一个建议,在提交页面之前,我必须将新值添加到值列表中。我试过了,但也没用 我真的很喜欢s
<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>
我认为您正在将适用于Select2 3.5.2及以下版本的解决方案与适用于4.0+的解决方案混合使用。尝试使用Select2 4.0(而不是旧的2.4版本)我有点输入了我正在使用的Select2版本。我正在使用Select2 4.0。我发现,如果我将属性“disableValidators”设置为true,那么我就不会看到上面的错误。如果表单通过验证,则一切正常。但是,如果没有,则该值返回到“-选择一个模型--”。我很确定这是因为新值不在可能值列表中。我保存了一篇关于这个的帖子,上面说如果你刷新,你必须在列表中添加新的值。我需要将它添加到viewScope.models中,我相信我会很好,。