给select赋值的一种方法

做毕设遇到的问题,在update数据的时候,要先把原来的数据传递给前台,赋值给input等标签,但是啊,select标签没有value属性啊,所以在这里研究了一下,总结一个给select赋值的方法吧

<select id="slt" class="form-control" name="leaguerPower" value="${requestScope.leaguer.leaguerPower }" style="width:80%;height:65%">
  <option>管理员</option>
   <option>普通用户</option>
   <option>本科</option>
   <option>硕士研究生</option>
   <option>博士研究生</option>
   <option>教职工</option>
</select>

 先给select标签设置一个id,js中要用到

<span id="up" hidden="hidden">${requestScope.leaguer.leaguerPower}</span>

 添加一个隐藏的span标签,用来得到后台传过来的值(因为js中不能直接用EL表达式嘛),当然,你也可以用input什么的来获取后台传过来的值,设置隐藏就好,就是当一个“变量”来用嘛,然后在js中加下面的代码:

<script type="text/javascript">
    	$(document).ready(function(){
    		var x = document.getElementById("up").innerHTML;/* 如果你用的“变量”是input的话,这里就要写成.value了 */
    		$("#slt").val(x);/* 这句话设置select中value为x的项被选中,例如$("#slt").val(“本科”)就表示<option>本科</option>被选中*/
    	});
</script>

 到这里就实现完成了

不过我总觉得还是下面这样写要严谨一些

<select id="slt" class="form-control" name="leaguerPower" value="${requestScope.leaguer.leaguerPower }" style="width:80%;height:65%">
  <option value="管理员">管理员</option>
   <option value="普通用户">普通用户</option>
   <option value="本科">本科</option>
   <option value="硕士研究生">硕士研究生</option>
   <option value="博士研究生">博士研究生</option>
   <option value="教职工">教职工</option>
</select>

虽说之前那种写法我用着也没问题吧,哎呀不管了

PS:《いつも何度でも》巨好听啊,《千与千寻》里的歌

猜你喜欢

转载自www.cnblogs.com/holiday2018/p/9057017.html