我正在使用更多jQuery的修订代码重新发布此问题。
以下是定义对象的HTML代码:
<LEGEND><b>Select Study Sample</b></LEGEND>
<p>
<P CLASS=select_header>Study - Box - Well - Lab ID<br>
<SELECT multiple size=20 NAME="stylabid" ID="stylabid" onchange=show_stylabid() onclick=clear_fetch() STYLE="width: 115px">
<?php
$i=0;
while ($i < $numstylabids) {
$styarr = pg_fetch_row($stylabidresult);
echo "<option value=$styarr[0]>$styarr[1]\n";
$i++;
}
?>
</select>
和
<LEGEND><b>Select Project Sample</b></LEGEND>
<p>
<P CLASS=select_header>Project - Box - Well - Lab ID<br>
<SELECT multiple size=20 NAME="pjtlabid" ID="pjtlabid" onchange=show_pjtlabid() onclick=clear_fetch() STYLE="width: 115px">
<?php
$j=0;
while ($j < $numpjtlabids) {
$pjtarr = pg_fetch_row($pjtlabidresult);
echo "<option value=$pjtarr[0]>$pjtarr[1]\n";
$j++;
}
?>
</select>
现在,这是javascript;我只是想获取所选对象的值,可以是Study或Project。我稍后使用它来从数据库中检索数据:
function fetchgenotype() {
var ms, mndx, ss, sndex = 0;
ms = $("#marker")[0].selectedIndex;
if (Study_selected) {
ss = $("#stylabid")[0].selectedIndex;
sndx = $("#stylabid").val(ss);
} else
ss = $("#pjtlabid")[0].selectedIndex;
sndx = $("#pjtlabid").val(ss);
}
// for debugging...
alert('ss='+ss+', sndx='+sndx);
此代码在sndx = ...
行上死亡。非常感谢任何帮助!
TIA
答案 0 :(得分:1)
我认为你有语法错误
sndx应该是sndex ..或者反过来
var ms, mndx, ss, sndex = 0; // <--
$("#pjtlabid").val(ss) // <-- setter method
.val(value)也是一个setter方法,所以sndx是未定义的,因为它从未被定义为任何值
答案 1 :(得分:1)
目前我不知道Study_selected的$(“#marker”)是什么。
假设到目前为止还没有任何问题,请将功能更改为:
if (Study_selected) {
sndx = $("#stylabid").val();
} else
sndx = $("#pjtlabid").val();
}
val()
在没有参数的情况下使用时返回form元素的值,否则它将设置值并返回一个jQuery-object。
无需检索selectedIndex,您可以直接访问select元素的值(它将是当前所选选项的值)
答案 2 :(得分:0)
这是一个错字:
var ms, mndx, ss, sndex = 0;
应该是
var ms, mndx, ss, sndx = 0;