基本上,我拥有世界上最受欢迎的代码,可以使用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)";`
有关代码无效的原因的任何想法?
提前致谢!!
答案 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);
来遍历您的数组。