我已经对列表框值进行了升序排序和选择,例如第3个值。选择后,列表框中显示的值是第一个。它应该是选定的值,而不是第一个值。是否可以“激活”所选值,以便在选择后显示?
答案 0 :(得分:0)
这不是正常行为......如果您在列表框中选择一个项目,它会显示所选项目.... 你可以发布你正在使用的代码,以便我们可以尝试重现这个问题吗?
答案 1 :(得分:0)
过去几天一直在努力解决这个问题,遇到了一些困难。对于列表框(lb),项目数组和列表中的选定项目(setitem),以下相当不优雅的代码在下拉列表(单选)列表框中工作,只有标签(无值)和显示值的数量设置为改变任何这些条件似乎都会明显改变行为。
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) {
}
}
这个整个领域的清晰文档将受到赞赏(和更好的代码)
答案 2 :(得分: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) {}
}
这样,您添加所有项目,然后使用数组中的索引设置索引。