Struts2:如何为选择标签中的每个下拉选项显示工具提示?

2023-12-05

我有这个 struts2 选择标签,其中选项是 Item 对象的列表。 假设 Item java bean 类具有以下 3 个属性:itemId, itemLabel, itemDescription.

我的选择标签如下所示:

<s:select headerKey="" 
  headerValue="Select Item"
  list="myModel.itemsList"
  listKey="itemId"
  listValue="itemLabel"
  name="selectedItem" />   

每当用户将鼠标悬停在下拉菜单中的每个选项上时,我想显示该选项的工具提示。填充该工具提示的文本存储在itemDescription我的 java bean 类的属性

我知道您可以为选择标签提供工具提示,但这不是我需要的,因为每个选项/项目都有不同的描述。

目前我有一个自定义的 javascript 工具提示,如果可能的话我想使用这个功能。如果项目将在表中列出,这就是我将如何使用该函数:

<td>
    <span class="tooltip" onmouseout="tooltip.hide();"
      onmouseover="tooltip.show('<s:property value="item.description" />');">
        <s:property value="item.label" />
    </span>
</td>

有谁知道展示的最佳解决方案是什么description每当用户将鼠标悬停在选项上时作为工具提示?


有很多种方法可以做你想做的事。对我来说最快的就是编写 html:

    <select name="selectedItem">
        <s:iterator value="collectionOfSomething">
            <option value="<s:property value="valueToReturn"/>" title="<s:property value="toolTip"/>">
                <s:property value="itemInListToShow"/>
            </option>
        </s:iterator>
    </select>

上面使用了 html5 title 属性,这样做的好处是,您可以在大多数现代浏览器中获得工具提示,而无需任何 JavaScript。

将“valueToReturn”、“toolTip”和“itemInListToShow”替换为“collectionOfSomething”中值的适当ognl表达式

解决这个问题的另一种方法是使用 jQuery(任何 JS 库都可以),并且会像这样。

1) 将带有工具提示的 html 列表放在页面上,但使用 CSS 进行样式设置,使其不可见。

2) 使用 jQuery(或首选 JS 库)将鼠标悬停事件绑定到下拉列表中的每个项目,这将显示隐藏列表中同一索引的工具提示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts2:如何为选择标签中的每个下拉选项显示工具提示? 的相关文章