2012-06-19 33 views
1

我有一个GWT列表框。我的验证代码查询列表框的选定索引是否为-1(我的列表框的默认状态)。如果我没有碰到ListBox,getSelectedIndex()将返回-1,如预期的那样。 如果我将鼠标悬停在ListBox项目上,但不点击其中一个(即在外部单击),getSelectedIndex()将返回一个非 - ( - 1)索引。我希望它返回-1,除非我单击一个ListBox项目,并且ListBox会自行更新以反映该选择。GWT列表框getSelectedIndex()不按预期工作时,悬停在列表项上

我该怎么办?

回答

0

因为浏览器决定选择的元素是什么,而不是GWT,所以你不能使用本地的<select>元素。换句话说,这就是<select>的工作原理。

您必须创建您自己的选择小部件(无论如何,这可能首选造型原因),或者在现有小部件旁边创造性地混搭某些东西。你可以添加一个点击处理程序到列表框中,并“手动”将选定的索引设置为-1,但是你必须弄清楚用户是否取消了他的操作并在之后恢复了选择。您必须禁止您的自定义代码中的选择事件,因为您可能不希望其他应用程序对您的新-1 hack做出反应。啊!可能最容易以不同的方式处理这个问题。

相关问题