添加 PHP 代码的 Javascript 下拉框

Javascript Drop Down boxes adding PHP code

本文关键字:Javascript PHP 代码 添加      更新时间:2023-09-26
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选项来添加此选项并将其添加到下拉列表中。

任何帮助表示赞赏。

谢谢

H.

两件事,

第一

您可以使用 JavaScript 设置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>*/

$results从何而来?如果这是您在页面创建过程中在PHP逻辑中操作的内容,那么我认为您专门询问为什么没有正确选择选择项?

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

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

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