用PHP数组填充Javascript下拉列表


Populating a Javascript pulldown with a PHP array

在我的网站上,我有以下内容:

formvalues.php -accesses-> database
database -sends data to be stored in-> formvalues.php
registrationform.php -accesses variables-> formvalues.php

注册表单显示相应的值。

我有一段javascript代码,它为我创建了一个基本的下拉菜单(用于测试目的)。

var sel = document.createElement('select');
                sel.name = 'staff' + s;
                option1 = document.createElement('option');
                option1.name = 'Non-medical Staff';
                option1.value = 'Non-medical Staff';
                option1.innerHTML = option1.value;
                option2 = document.createElement('option');
                option2.name = 'Nurse';
                option2.value = 'Nurse';
                option2.innerHTML = option2.value;
                sel.appendChild(option1);
                        sel.appendChild(option2);
                document.getElementById('staffarea').appendChild(sel);

我想知道如何将PHP数组变量传递到javascript中并填充下拉而不是手动数据。

我需要连接它与我的formvalues.php文件?

谢谢

尝试在php脚本中编写JavaScript。像这样:

<script type="text/javascript">
    var myArray = new Array();
<?php
    $your_php_array = array();
    // somehow you populate that array
    foreach ($your_php_array as $key=>$value) {
        echo sprintf("myArray.push(%s);", $value);
    }
?>
    // do stuff with that array in javascript
</script>

当然,如果你的JavaScript是外部的,你将不得不做一个解决方案。例如,将JS数组声明为全局变量(仍然在内部),然后在脚本中引用它。

$key=>$value是可选的,以防您需要键名。