<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" >
<?
$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" >
//改为:
echo "zgr['{$dy[$i]'}'] = '{zg[$i]}';\n";
echo "zgr['".$dy[$i]."'] = '".$zg[i]."'\n";
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??
没有显示我所想的主管人的姓名
改为
alert(zgr[s]); 注意这里的 s 是传入的变量,如果加上引号就变成字符s了
显然你的 zgr 数组中没有关联键为 s 的成员
接着再选择,还是出现 undefined
为什么?