日期:2014-05-17  浏览次数:20720 次

如何知道当前选中的是列表框的第几项
数据库表有3个字段。yiid     yiname     yiorder
现在在列表框。select1   里有3个字段。国内新闻。企业新闻。新闻测试。
在列表框右面有个TEXT文本框。是用来修改select1里的字段。怎么知道当前选中的是第几个字段。修改字段总是把select1里的第一项改了。因为修改时不知道该修改第几条。
sql= "update   yikind   set   yiname= ' "&request(txt_newname)& " '   where   条件怎么写。
要用到循环吗?


------解决方案--------------------
<select id= "s ">


<script>
alert(document.getElementById( "s ").selectedIndex)
</script>
------解决方案--------------------
sql= "update yikind set yiname= ' "&request(txt_newname)& " ' where yiid in ( "&request( "selectid ")& ") "
<select name= "selectid " id= "selectid " >
<option value= " <%=rs( "yiid ") %> "> <%=rs( "yiname ")%> </option>
</select>

没有测试过,参考以下吧。
------解决方案--------------------
txt_newname=request.form( "txt_newname ")
set rs1=server.createobject( "ADODB.recordset ")
sql= "select * from yikind where yiorder= ' "&request.form( "Select1 ")& " ' "
rs1.open sql,conn,3,3
rs1( "yiname ") =txt_newname
rs1.update
rs1.close

获得select 列表框提交的值只要用request.form( "Select1 ")就可,select1为列表的名称,应为列表框只有被选中的选项的值才会被提交,没有选中的选项的值是不会提交到服务器的.100%是这样的,你试试.
------解决方案--------------------
当然
select 的option须这样设置
<option value= " <%=rs( "yiorder ") %> "> <%=rs( "yiname ")%> </option>
或者可以是
<option value= " <%=rs( "yiid ") %> "> <%=rs( "yiname ")%> </option>
那么就须为:
sql= "select * from yiid where yiid= "&request.form( "Select1 ")