case '1':
document.getElementById(q15).options.length = 0;
for (i = 0; i < australia.length; i++) {
createOption(document.getElementById(q15), australia[i], australia[i]);
}
break;
以上代码调用数组信息:
function createOption(ddl, text, value) {
var opt = document.createElement('option');
opt.value = value;
opt.text = text;
ddl.options.add(opt);
}
上面的代码创建了一个下拉列表:
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
等
我需要的是也可以添加一些PHP脚本,这可能吗?它看起来像这样(注意:== 1'1'需要是一个变量,它可能是来自顶级Javascript代码的'[i]?:
<option value="1" <?php if ($results['q14']==1) echo "selected";?>>1</option>
<option value="2" <?php if ($results['q14']==2) echo "selected";?>>2</option>
<option value="3" <?php if ($results['q14']==3) echo "selected";?>>3</option>
答案 0 :(得分:1)
因为在同步连接中,在PHP已经被解析之后解释了JavaScript,你可以将PHP代码添加到JavaScript本身,或者为php脚本创建异步AJAX请求以检查应该选择哪个选项。 第一选择:
function createOption(ddl, text, value, selected) {
var opt = document.createElement('option');
opt.value = value;
opt.text = text;
opt.selected = selected;
ddl.options.add(opt);
}
并在通话中
createOption(ddl, "some option", "someopt", <?=($results['q14']==1)?'true':'false'?>);
请注意,此JavaScript必须由PHP解析,因此要么将其包含在* .php文件中,要么将* .js添加到Web服务器处理程序映射中。