2
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>

但是,我正在努力使用SelectedJavascript 中的选项来添加这个选项并将其添加到下拉列表中。

任何帮助表示赞赏。

谢谢,

H。

4

2 回答 2

1

两件事情,

第一的,

您可以selected通过执行使用 JavaScript 设置属性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>*/
于 2012-08-19T14:47:05.633 回答
0

$results来自哪里?如果它是您在页面创建期间在 PHP 逻辑中操作的东西,那么我假设您专门询问为什么选择项没有被正确选择?

<option value="1" <?php if ($results['abc']==1) echo "selected";?>>Perth</option>

这实际上应该将 selected 属性设置为“selected”值(而不是单独打印选定的单词)。所以,它应该是:

<option value="1" <?php if ($results['abc']==1) echo "selected=\"selected\"";?>>Perth</option>
于 2012-08-19T15:04:02.937 回答