javascript控制select问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 15:53:57
小生做了个网页,由数据库中读出数据到select中,判断id的值是否和数据库中的值相同,相同的话选中该项,并作了一个JavaScript来跳转页面传递值的函数,但是,现在的问题是,id是传过去了,可是option中的判断没有生效,谁能告诉我代码哪里有问题,谢谢
代码如下
<%id=Request.QueryString("id")%>

<form name="clapro">
<label>
<select name="claid" onchange="cg();">
<%
set rs=server.CreateObject("adodb.recordset")
exec_clapro_loop="select * from clapro order by id"
rs.open exec_clapro_loop,conn,1,1
while not rs.eof
%>
<option value="<%=rs("id")%>" <%if rs("id")=id then%> selected <%end if%>><%=rs("name")%></option>
<%
rs.movenext()
wend
%>
</select>
</label>
</form>
————————————————————————————
<script>

function cg(){
window.location.href="manage_product.asp?id="+docume

可能是你option里面的value值没有得到,还有一般来说JSP页面少用脚本,不过感觉你是用ASP的。恕我不能给你准确的判断。

呵呵...我也没给你解决用不着谢啦,不过你把onchange事件改为onselect看看行否,既然你说Option判断没有生效,但是指事取得了的,那估计就是这个事件根本就没有发生,你在试一下看眼!

你那样做是达不到效果的,请运行下面的测试代码,就能知道效果
当你在option中用selected设置选中时,是不会触发onchange事件的
所以请你用function cg()下面的那段代码,就可以了
<form name="form1">
<select name="kk" onchange="cg(this);">
<option value="">请选择。。。</option>
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
</form>
<script>
function cg(kk){
alert(kk.value);
}
if(form1.kk.value!=""){
alert(form1.kk.value);
}
</script>

可是option中的判断没有生效
这句话没有表述清楚。
没有生效是没有被选中还是没有跳转?
如果是没有被选中,那你要检查下<%if rs("id")=id then%> 这个条件了。你可以在上面显示一下这两个值。看他们是否相等。
如果是没有跳转,那是很正常的。因为select的onchange事件没有触发。