我正在尝试使用此函数添加以下html代码:
function generateAlbumSelect() {
alert("test");
var html="";
html+="<select id='album_select' style='color:red; font-family:calibri; align:middle; width:430px; height:350px;text-align:center; padding: 10px; font-size: 1.4em; line-height: 1; border: 0; ' onchange='parent.generateTrackSelect(this.selectedIndex);' size=" + albums.length + ">";
for(var i=0;i<albums.length;i++){
html+="<option>";
html+= albums[i].title;
html+="</option>";
}
html+="</select>"
with(document.getElementById('albums_list_frame').contentDocument){
open();
write(html);
close();
}
}
对于这个区块 - 但由于某种原因它不起作用,但警报(“测试”);确实执行。
<body onload = "generateAlbumSelect();">
<form name = 'main'>
<div id="albums_list_frame" class = "panel_top">
<h2>Album Listing</h2>
</div>
答案 0 :(得分:0)
我强烈建议使用jQuery;它看起来像这样:
function generateAlbumSelect(albums)
{
var html = $('<select>')
.css({
'color':'red',
'font-family':'calibri',
'align':'middle',
'width':'430px',
'height':'350px',
'text-align':'center',
'padding': '10px',
'font-size': '1.4em',
'line-height': '1',
'border': '0'
})
.on('change', function(){
generateTrackSelect(this.selectedIndex); // ??
});
$.each(albums, function(idx, val){
html.append($('<option>').text(val.title));
})
$('#albums_list_frame').append(html);
}
$(document).ready(function(){
var albums = [{title:'title1'}, {title: 'title2'}];
generateAlbumSelect(albums);
})
其他一些评论: