jQuery动态控制下拉列表的被选项[转]

<form id="form" action="/query!query.action">
<select>
  <option value ="" <% if(city==null||"".equal(city)){%> selected="selected"<%}%>>
  全部
  </option>
  <option value ="1" <% if("1".equal(city)){%> selected="selected"<%}%>>
  北京
  </option>
  <option value ="2" <% if("2".equal(city)){%> selected="selected"<%}%>>
  上海
  </option>
  <option value ="3" <% if("3".equal(city)){%> selected="selected"<%}%>>
  广州
  </option>
</select>
<input type="submit"/>
</form>


但这样感觉很麻烦,特别是当选择项比较多的时候,于是我想用jQuery来实现:

[html] view plaincopy
<script type="text/javascript">
$(document).ready(function(){
$("#city${city}").attr("selected","selected");
})
</script>
<form id="form" action="/query!query.action">
<select name="city">
  <option value ="" id="city" selected="selected">全部</option>
  <option value ="1" id="city1">北京</option>
  <option value ="2" id="city2">上海</option>
  <option value ="3" id="city3">广州</option>
</select>
<input type="submit"/>
</form>


一行代码就解决了,很方便

今天又发现了一种方法,更方便:

[html] view plaincopy
<script type="text/javascript">
  $(document).ready(function(){
    $("#city").val("${city}");
  })
</script>
<form id="form" action="/query!query.action">
  <select name="city" id="city">
    <option value ="" >全部</option>
    <option value ="1" >北京</option>
    <option value ="2">上海</option>
    <option value ="3">广州</option>
  </select>
<input type="submit"/>
</form>

原文地址:https://www.cnblogs.com/jixu8/p/3408625.html