来自Javascript嵌套数组的动态AJAX DD

时间:2012-08-10 19:11:50

标签: php javascript mysql ajax

基本上,我拥有世界上最受欢迎的代码,可以使用PHP& amp; MySQL,但我正在尝试从数组中填充select选项文本和选项值,让我们将id作为选项值,将名称作为选项文本;我发现了一个完全描述我想要做的事情的线程,但它对我不起作用(dyanmic下拉工作就像一个魅力)。
这是链接:
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)";`


有关代码无效的原因的任何想法?
提前致谢!!

1 个答案:

答案 0 :(得分: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);来遍历您的数组。