リストボックスの値を昇順で並べ替え、たとえば 3 番目の値を選択しました。選択後、リストボックスに表示される値が最初の値です。最初の値ではなく、選択した値にする必要があります。選択した値を「アクティブ化」して、選択後に表示することはできますか?
質問する
1124 次
3 に答える
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 に答える
0
これは通常の動作ではありません... listBox でアイテムを選択すると、選択したアイテムが表示されます....問題を再現できるように、使用しているコードを投稿していただけますか?
于 2012-10-24T19:50:30.820 に答える