var abc = new Array('Perth','Auckland');
case '1':
document.getElementById(q15).options.length = 0;
for (i = 0; i < abc.length; i++) {
createOption(document.getElementById(q15), abc[i], abc.[i]);
}
break;
var opt = document.createElement('option');
opt.value = value;
opt.text = text;
ddl.options.add(opt);
以上代码输出以下内容:
<option value="1">Perth</option>
<option value="2">Auckland</option>
但是,我需要添加一些PHP来计算在页面加载时是否选择了该选项,因此输出应如下所示:
<option value="1" <?php if ($results['abc']==1) echo "selected";?>>Perth</option>
<option value="2" <?php if ($results['abc']==2) echo "selected";?>>Auckland</option>
但是,我正在努力使用Javascript中的Selected
选项添加此选项并将其添加到下拉列表中。
任何帮助表示感谢。
谢谢,
小时。
答案 0 :(得分:1)
两件事,
首先,
您可以通过selected
domelement.setAttribute("selected","selected");
属性
我认为这就是你原来的问题。
其次,
您无法使用javascript添加PHP代码,因为PHP会在您的浏览器获取代码之前在服务器上运行。
我使用PHP将$results
变量存储到javascript变量中并使用它来设置selected
。
var results = ["<?php echo implode ('","', $results); ?>"] /*Get the results array from PHP to javascript.*/
var abc = new Array('Perth','Auckland');
case '1':
document.getElementById(q15).options.length = 0;
for (i = 0; i < abc.length; i++) {
createOption(document.getElementById(q15), abc[i], abc.[i]);
}
break;
var opt = document.createElement('option');
opt.value = value;
opt.text = text;
ddl.options.add(opt);
/*add the "selected" attribute to options that results['abc'] == <number>*/
答案 1 :(得分:0)
$results
来自哪里?如果你在页面创建期间在PHP逻辑中操作它,那么我假设你特别询问为什么没有正确选择选择项?
<option value="1" <?php if ($results['abc']==1) echo "selected";?>>Perth</option>
实际上应该将所选属性设置为“已选择”的值(而不是仅仅打印选定的单词)。所以,它应该是:
<option value="1" <?php if ($results['abc']==1) echo "selected=\"selected\"";?>>Perth</option>