Javascript 如何将关闭[X]图标添加到djextNameTextBox?

Javascript 如何将关闭[X]图标添加到djextNameTextBox?,javascript,css,dojo,xpages,dijit.form,Javascript,Css,Dojo,Xpages,Dijit.form,不知道为什么,但在某些页面上此控件有[X]图标,而在另一个页面上没有。我需要能够删除名单上的名字点击这个图标 <?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom" xmlns:xe="http://www.ibm.com/xsp/cor

不知道为什么,但在某些页面上此控件有[X]图标,而在另一个页面上没有。我需要能够删除名单上的名字点击这个图标

<?xml version="1.0" encoding="UTF-8"?>
<xp:view 
       xmlns:xp="http://www.ibm.com/xsp/core"
       xmlns:xc="http://www.ibm.com/xsp/custom"
       xmlns:xe="http://www.ibm.com/xsp/coreex">

<xe:djextNameTextBox id="djextNameTextBox1" multipleSeparator="," multipleTrim="true">
    <xe:this.value><![CDATA[#{javascript:"NAME1,NAME2,NAME3"}]]>/xe:this.value>
</xe:djextNameTextBox>
</xp:view>

/xe:这个值>
玩.lotusFilter.lotusClose css没有帮助。此图标仅在设计模式下出现,但我在xPage上看不到它

X图标用于从该字段绑定到的任何内容中删除所选选项。它不是通过CSS添加的,只有当组件可以编辑时才会添加,但在您的实现中它不是

此组件和任何可编辑组件的
属性用于将其绑定到作用域变量或数据源属性(例如
#{document1.myField}
)。它定义了存储数据的位置,而不是默认值(即
defaultValue
property)。因此,
/xe:this.value>
意味着您试图将所选内容存储到名为“NAME1,NAME2,NAME3”的字符串中。因为它是不可编辑的,不能存储在任何地方,所以它不允许您删除这些值——它实际上是在显示组件的只读版本

您需要使用
属性映射到数据源属性。如果需要默认值,可以在
defaultValue
属性或
beforePageLoad
或其他类似事件中完成。(我不确定单个逗号分隔的字符串是否可以设置默认值,或者是否需要传递数组/向量/列表。)


我强烈建议查看扩展库演示数据库(OpenNTF下载文件中的XPagesExt.nsf)中的示例,特别是Domino_Pickers.xsp,Name Pickers选项卡。它是任何扩展库组件的最佳参考,也是我们在编写XPages扩展库书籍时使用的关键资源。

X图标用于从绑定到的任何字段中删除所选选项。它不是通过CSS添加的,只有当组件可以编辑时才会添加,但在您的实现中它不是

此组件和任何可编辑组件的
属性用于将其绑定到作用域变量或数据源属性(例如
#{document1.myField}
)。它定义了存储数据的位置,而不是默认值(即
defaultValue
property)。因此,
/xe:this.value>
意味着您试图将所选内容存储到名为“NAME1,NAME2,NAME3”的字符串中。因为它是不可编辑的,不能存储在任何地方,所以它不允许您删除这些值——它实际上是在显示组件的只读版本

您需要使用
属性映射到数据源属性。如果需要默认值,可以在
defaultValue
属性或
beforePageLoad
或其他类似事件中完成。(我不确定单个逗号分隔的字符串是否可以设置默认值,或者是否需要传递数组/向量/列表。)

我强烈建议查看扩展库演示数据库(OpenNTF下载文件中的XPagesExt.nsf)中的示例,特别是Domino_Pickers.xsp,Name Pickers选项卡。它是任何扩展库组件的最佳参考,也是我们在编写XPages扩展库书籍时使用的关键资源