<select name="xx"  onchange="jzdy(this.options[this.options.selectedIndex].value)">
<?
$cn = oci_connect("user","pswd","db"); 
$sql = "select dydm,dymc,zgr from tablex";
$st = oci_parse($cn, $sql);
oci_execute($st);
$nrows = oci_fetch_all($st, $results);
$mc=$results["DYMC"];
$zg=$results["ZGR"];
$dy=$results["DYDM"];
oci_free_statement($st);
oci_close($cn);
 for ($i = 0; $i < $nrows; $i++) {
  echo "<option value=".$dy[$i].">".$mc[$i]."</option>";
}
echo "</select>";
?>
<script LANGUAGE ="JavaScript" >
var zgr = new Array();
<?
for ($i = 0; $i < $nrows; $i++) {
echo "zgr['$dy[$i]'] = '$zg[$i]';\n";
$i++;
}
?>
function jzdy(s) 

 SZG.value=s;
alert(zgr['s']); //就是这句,怎么不显示 这个dy所对应的主管人

</script> 
<input type="text" id="SZG" size="55"  >

解决方案 »

  1.   

    echo "zgr['$dy[$i]'] = '$zg[$i]';\n";
    //改为:
    echo "zgr['{$dy[$i]'}'] = '{zg[$i]}';\n";
      

  2.   

    //或者:
    echo "zgr['".$dy[$i]."'] = '".$zg[i]."'\n";
      

  3.   

    查看 浏览器源码,发现<script LANGUAGE ="JavaScript" >
    var zgr = new Array();
    ******
    zgr['DX56'] = '吴帅';
    zgr['DX7Z'] = '李莲,李晓军';
    zgr['DX8A'] = '李莲';
    function jzdy(s) 

     SZG.value=s;
    alert(zgr['s']);

    </script> 
    <input type="text" id="SZG" size="55"  >好像应该是解释好了,但是 alert(zgr['s']) 执行后 显示的是信息是 undefined??
    没有显示我所想的主管人的姓名
      

  4.   

    alert(zgr['s']) => alert(zgr[s]) 
      

  5.   

    alert(zgr['s']); 
    改为
    alert(zgr[s]); 注意这里的 s 是传入的变量,如果加上引号就变成字符s了
    显然你的 zgr 数组中没有关联键为 s 的成员
      

  6.   

    楼上,修改后网页的选择框第一次 选择 可以出现 zgr
    接着再选择,还是出现 undefined 
    为什么?