0

基本上,我拥有世界上最流行的代码,用于使用 PHP 和 MySQL 进行动态相关下拉列表,但我试图从数组中填充选择选项文本和选项值,假设 id 作为选项值,以及名称作为选项文本;我找到了一个线程,它准确地描述了我正在尝试做的事情,但它对我不起作用(动态下拉菜单就像一个魅力)。
这是链接: http:
//forums.phpfreaks.com/index.php?topic=287884.0
这是我的代码;

`for (i=0;i<myarray.length;i++)
 {
 var optn = document.createElement("OPTION");
 optn.text = myarray[i][0];
 optn.value = myarray[i][1];
 document.testform.id_proveedor.options.add(optn);
 }`

以及来自 dd.php 的部分代码

`while($nt=mysql_fetch_array($q)){
$str=$str.'new Array("'.$nt[id_proveedor].'","'.$nt[nombre].'"),';
}
$str=substr($str,0,(strLen($str)-1)); // Removing the last char , from the string
echo "new Array($str)";`


关于为什么代码不起作用的任何想法?
提前致谢!!

4

1 回答 1

0

我认为这个脚本使用了 javascript 的“评估”功能,我认为这不是一个好主意。IMO 最好的做法是在 php 中使用 JSON 编写这样的代码

$result = array();
while($nt=mysql_fetch_array($q)){
   $result[]=$nt;
}
echo json_encode($result);

在您的 AJAX 代码中,您只需要使用var myarray=JSON.parse(response);您的数组即可遍历。

于 2012-08-10T19:32:39.117 回答