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

在循环长度应该是 arrDates.length

不要加倍我

用 var 声明 i 和 tokenizedDates 或污染全局命名空间

这是进行 dom 操作的链接:http: //www.w3schools.com/jsref/met_select_add.asp

这是使用 jquery 的方法,因为 dom 操作很难让它们跨浏览器工作:

使用 jQuery 向 <select> 添加选项?

于 2013-04-21T00:41:19.893 回答
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 回答