0

私のために生成されたリストボックスjsfの個々の要素を設定するにはどうすればよいですか? JSで設定したいです。

HTML generated: <select id="pageForm:effectiveDateListbox" name="pageForm:effectiveDateListbox" multiple="multiple" size="0"></select>   

var listBox = document.getElementById('pageForm:effectiveDateListbox');
            for (i = 0; i!= length; i++) 
            {
                var date = arrDates[i];
                var displayMonth = date.getMonth() + 1;
                var displayYear = date.getFullYear();
                var displayDate = date.getDate();
                tokenizedDates = displayMonth.toString(10) + "/" + displayDate.toString(10) + "/" + displayYear.toString(10);
                listBox.options[i].value = tokenizedDates;
                i++;
            }
4

2 に答える 2

0
var listBox = document.getElementById('pageForm:effectiveDateListbox');
var dates = [new Date(2013,01,01), new Date(2013,02,03), new Date(2013,03,03)];    
for (i = 0; i != dates.length; i++) {
    var option = document.createElement("option");
    var optionText = [dates[i].getMonth() + 1, dates[i].getDate(), dates[i].getFullYear()];
    option.text = optionText.join("/");
    listBox.add(option, null);
}
于 2013-04-21T01:07:53.060 に答える
0

ループの長さは arrDates.length にする必要があります

i を 2 倍にしないでください

i と tokenizedDates を var で宣言するか、グローバル名前空間を汚染します

dom 操作を行うためのリンクは次のとおりです: http://www.w3schools.com/jsref/met_select_add.asp

dom 操作はクロスブラウザーで動作させるのが難しいため、jquery で行う方法は次のとおりです。

jQueryを使用して<select>にオプションを追加しますか?

于 2013-04-21T00:41:19.893 に答える