Javascript创建下拉添加PHP脚本

时间:2012-08-16 07:00:44

标签: php javascript drop-down-menu

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>

1 个答案:

答案 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服务器处理程序映射中。