在组合框<xp:selectitem>中的<xp:selectitem>上设置“title”属性

时间:2012-03-27 13:04:30

标签: xpages

我有一个组合框,其中包含很长的描述。我正在努力寻找显示完整描述的最佳方式。我遇到的一件事是title属性导致弹出窗口在悬停时显示。我尝试在XPages中使用“attrs”属性来添加title属性,但xp:selectItem和xp:selectItems“attrs”不会出现在HTML输出中。

任何人都有任何想法或不同的方法尝试?谢谢你的任何想法。

编辑:我最终将组合框更改为对话框选择列表。这符合我的要求。

2 个答案:

答案 0 :(得分:0)

如果您的商品描述太长,以至于它们不适合组合框,您可以:

  1. 使用css更改组合框的长度。
  2. 检索描述并仅显示其中的一部分(假设前100个字符)。
  3. 组合框中的描述应该是“描述性的”(因此单词描述)。我会采用第二种方法并在描述前添加一些内容,因此描述对用户仍然有用。

    例如,当有项目列表时。这些标题长度超过100个字符。而不是显示完整的描述。剪切它们并使用项目代码作为前缀,以便显示

    ProjectCode - {前100个描述字符}。

    这样,由于项目代码,用户仍然知道他们选择了什么。

答案 1 :(得分:0)

您是否考虑过使用扩展库中的xe:djComboBox? 见http://www-10.lotus.com/ldd/ddwiki.nsf/dx/djComboBox_Dojo_Combo_Box_ddxl853

<xe:djComboBox id="djComboBox1" value="#{sessionScope.djComboBox1}"
            tooltipPosition="auto">
    <xe:this.dojoAttributes>
        <xp:dojoAttribute name="autoComplete" value="false">
        </xp:dojoAttribute>
        <xp:dojoAttribute name="labelType" value="html">
        </xp:dojoAttribute>
    </xe:this.dojoAttributes>
    <xp:selectItems>
        <xp:this.value>
            <![CDATA[#{javascript:return new Array("<b>Apples</b>|apples", "Oranges|oranges")}]]>
        </xp:this.value>
    </xp:selectItems>
</xe:djComboBox>

数组中的每个元素都应具有以下格式“label | value | description | disabled”,其中只有label是必需的。请参阅:http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.designer.domino.ui.doc%2Fwpd_controls_cref_selectitems.html