2012-08-10 57 views
0

基本上我有世界上最流行的代码动态从属下拉使用PHP & MySQL,但我想填充从数组中选择选项文本和选项值,让我们说id作为选项值,名称作为选项文本;我发现了一个线程,它完全描述了我正在尝试做的事情,但它并不适合我(这个dyanmic下拉工作就像一个魅力)。
这里是链接:
http://forums.phpfreaks.com/index.php?topic=287884.0
这是我的代码;
动态AJAX DD从Javascript嵌套数组

`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

我认为这个脚本使用JavaScript的“评估”功能,我不认为这是一个好的想法。 IMO最好的做法是在PHP这样的代码,使用JSON

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

而在你的AJAX代码,你只需要使用var myarray=JSON.parse(response);有你的数组遍历。

+0

感谢您的提示,但是,我无法得到它的工作,我更换了行 – 2012-08-10 20:02:57

+0

'var myarray = eval(httpxml.responseText);' – 2012-08-10 20:04:08

+0

与你给我的一个,我也取代了部分我在这里发布的代码和你给我的代码一样,但到目前为止还没有运气,你能否指点我一个教程,让我可以得到它?或者如果你能给我更深入的解释?谢谢! – 2012-08-10 20:05:55