如题,如何让我点击提交之后,下拉框的值是我点击前选中的那个??(Asp 程序,已把第一项selectd=true删除)
<select name="gongsi" class="wight100" id="gongsi">
<option value="全部">全部</option>
<%do while not rs.eof and not rs.bof %>
<option value="<%=rs(0)%>"><%=rs(0)%></option>
<%rs.movenext
loop%>
<option value="其它">其它</option>
</select>
提交按钮
<input name=enter id="enter" type="submit">
在线等 。。
<select name="gongsi" class="wight100" id="gongsi">
<option value="全部">全部</option>
<%do while not rs.eof and not rs.bof %>
<option value="<%=rs(0)%>"><%=rs(0)%></option>
<%rs.movenext
loop%>
<option value="其它">其它</option>
</select>
提交按钮
<input name=enter id="enter" type="submit">
在线等 。。
你在前台做的事情,回传之后,后台发出来的数据又是一个新的HTML如果你要记住状态就要在来回传递的时候记录你的数据
或者是你在后台直接改好
对web的基础概念没弄清楚。所以你不必着急给你几个选择,你选下1、用ajax提交表达方法
2、往来传值法
然后在ASP里把这个值赋上
<input type="hidden" id="test" value="<% %>" />
这个赋值没问题了吧js:
window.onload = function() {
var i = document.getElementById("test").value;
利用i给select的索引赋值把
};
遍历索引看值是否等于i
如果等于
则selected附上去啊
ASP的开头,接收REQUEST参数ABC的值。
在HTML里写SELECT的时候,
<option value="值1" <% if REQUEST("ABC")="值1" then %> selected <% end if%> >
<option value="值2" <% if REQUEST("ABC")="值2" then %> selected <% end if%> >
<option value="值3" <% if REQUEST("ABC")="值3" then %> selected <% end if%> >
{
var op=document.getElementById("gongsi");
op.options[5].selectd=true;
}<input name=enter id="enter" type="submit" onclick="cow()"/>
这是我写的一个测试,但是我submit之后,还是第一项选中,不是第六项选中啊
<option value="<%=rs(0)%>"><%=rs(0)%></option>
<%rs.movenext
loop%>
了,咋弄
{
var op=document.getElementById("gongsi");
var b=op.value;
for(var i=0;i<op.options.length;i++)
{
if(op.options[i].value==b)
op.options[i].selectd=true;
}
}
这样写还是不行啊,错在哪了,帮 帮
你虽然在<input name=enter id="enter" type="submit" onclick="cow()"/>加了cow事件,但是在这里,事件执行顺序是先执行cow(),这个时候能保证选中的状态,然后再提交表单。提交后自然就又重新刷新一次,前面的cow()的作用也就自然失效了!由于非常短,所以最后的效果是无法选中!
按楼上几位说的,你应该将选中的值也传递到后台去。然后保存它,一种方式就是通过ajax,这样就能保证选中,另外一种就是theforever说的,刷新页面后一个一个判断!但是不管怎么样,总得有个依据,保证刷新页面后能确定你选择的值是什么,这是2个方法都必须遵守的原理!