0

我已经对我的列表框值进行了升序排序,并选择了例如第三个值。选择后,列表框中显示的值为第一个。它应该是选定的值,而不是第一个值。选择后是否可以“激活”要显示的所选值?

4

3 回答 3

0

这不是正常行为...如果您在 listBox 中选择一个项目,它会显示所选项目....您能否发布您正在使用的代码以便我们可以尝试重现该问题?

于 2012-10-24T19:50:30.820 回答
0

在过去的几天里一直在努力解决这个问题,并遇到了一些困难。对于列表框 (lb)、项目数组和列表中的选定项目 (setitem),以下相当不雅的代码在仅标签(无值)和显示值数量设置为的下拉(单选)列表框中工作1. 改变这些条件中的任何一个似乎都会显着改变行为。

function fillListBox(lb,items,setitem){
    try {
      lb.clear();  // making the widget reusable

      for (j=0;j<items.length;j++){
        var item = items[j];
        lb.addItem(item);
           if (item==setitem){
          lb.setSelectedIndex(j);  // zero is the first item in list
             } 
      }

    } 
    catch(e) {
    }
  }

将不胜感激这整个领域的清晰文档(以及更好的代码)

于 2012-10-24T19:55:42.960 回答
0

虽然 DavidF 的解决方案有效,但我认为这更简单一些:

function fillListBox(lb,items,setitem){
  try {
    lb.clear();  // making the widget reusable

    for (j = 0; j < items.length; j++){
      lb.addItem(items[j]);
    }
    lb.setSelectedIndex(items.indexOf(setitem));
  } catch(e) {}
}

这样,您添加所有项目,然后使用它在数组中的索引设置索引。

于 2012-10-25T15:06:41.990 回答