我需要创建一个显示值列表的comboBox控件,但允许用户输入不在列表中的值。我看到你可以用dijit.form.comboBox做到这一点,但据我所知,8.5之后不再有效。所以这条路线已经出局了。这应该是非常基本的,我猜我在某个地方错过了一个属性。 有什么指针吗?
提前致谢
答案 0 :(得分:2)
以下是核心控制xp:comboBox
的工作示例,其中用户可以使用扩展库输入不在列表中的值:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.resources>
<xp:dojoModule
name="dijit.form.ComboBox"
rendered="true">
</xp:dojoModule>
</xp:this.resources>
<xp:comboBox
id="comboBox1"
value="#{sessionScope.Test}"
dojoType="dijit.form.ComboBox"
disableValidators="true">
<xp:selectItem itemLabel="abc"></xp:selectItem>
<xp:selectItem itemLabel="def"></xp:selectItem>
<xp:selectItem itemLabel="xyz"></xp:selectItem>
</xp:comboBox>
<xp:button
value="Submit"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="complete"
immediate="false"
save="true">
</xp:eventHandler>
</xp:button>
</xp:view>
这里有三件事很重要:
dijit.form.ComboBox
dojoType="dijit.form.ComboBox"
disableValidators="true"
,否则不会提交不在列表中的新值。如果您允许在项目中使用扩展库,那么您当然会使用Dojo Form控件“Dojo Combo Box”xe:djComboBox
。
答案 1 :(得分:0)
用djComboBox得到它希望它是核心控件的属性。