1 <% string select = "selected";%> 2 <option value="0" selected="<%:Model.ActionType==0?select:null %>" >查询</option> 3 <option value="1" selected="<%:Model.ActionType==1?select:null %>">更新</option> 4 <option value="2" selected="<%:Model.ActionType==2?select:null %>">删除</option> 5 <option value="3" selected="<%:Model.ActionType==3?select:null %>">添加</option> 6 <option value="4" selected="<%:Model.ActionType==4?select:null %>">其他</option>
问题就在此,本来默认的是"查询",可是最后显示的却是"其他",以前我用的办法是if判断,可是太笨,稍微多一点的options就不行了。
希望同志们能够指出问题到底出在哪里,或者可以介绍更为便捷的方式。
1 <% string select = "select='selected'";%> 2 <option value="0" <%:Model.ActionType==0?select:'' %> >查询</option> 3 <option value="1" <%:Model.ActionType==1?select:'' %>>更新</option> 4 <option value="2" <%:Model.ActionType==2?select:'' %>>删除</option> 5 <option value="3" <%:Model.ActionType==3?select:''%>>添加</option> 6 <option value="4" <%:Model.ActionType==4?select:'' %>>其他</option>
由于 select=''并不是不选择,所以应该直接不写。如上面的代码试试,如果没有选中的,直接输出空格。选中的输出select='selected'
其实当初一直以为select=''就相当于不选择,所以绕来绕去,给绕迷糊了,你给的答案最完整,就选你啦。
程序本身判断是没错的, 只是 option 的selected ='' 一样是显示选中状态 改写如下:
<% string select = "selected";%> <option value="0" <%:Model.ActionType==0?select:null %> >查询</option> <option value="1" <%:Model.ActionType==1?select:null %>>更新</option> <option value="2" <%:Model.ActionType==2?select:null %>>删除</option> <option value="3" <%:Model.ActionType==3?select:null %>>添加</option> <option value="4"<%:Model.ActionType==4?select:null %>>其他</option>
谢谢朋友的提示。
我也有个思路,之前我做这种的时候,喜欢配合js来做, 将’查询‘的option的value 放到ViewBag.SelectedValue =1.
然后js中就可以用一个变量来接受这个值,然后使用js来选中。(使用jquery选中就更简单了)
你的意思应该是:
1.通过Jquery拿到后台传送来的Options值。
2.使用Jquery循环遍历Options的val()。
3.判断val()是否等于Jquery接收的值,如果等于,则添加selected属性。
@only-time:
我还是坚持使用js来控制:
后台中: { //设置需要选中的option的value ViewBag.Selected = 2; } 页面HTML: <select id="CitySize" name="CitySize"> <option value="-1">--请选择--</option> <option value="0">超大</option> <option value="1">特大</option> <option value="2">大</option> <option value="3">中</option> <option value="4">小</option> </select> 前台js: $(function(){ var selected = '<%ViewBag.Selected%>'; selected = isNaN(selected)?0:selected; $("#CitySize").val(selected);// 将会选中:<option value="2">大</option> });
jquer选中select可以参考 jQuery获取Select选择的Text和 Value(转)
@袁家小黑球:呵呵,谢谢朋友的回复,我会试试这种方法,辛苦啦、
我来学习的
一开始不管,然后执行一段js代码$('selectId').val(0);