2014-03-27 77 views
0

HTML:JQuery的大小寫格式

<select name="cities" id="cities"> 
    <option value="345345">City Name 1</option> 
    <option value="342005">City Name 2</option> 
    <option value="300005">City Name 3</option> 
    <option value="345111">City Name 1000</option> 
</select> 

JS:

var city = 'CITY NAME 384'; 
$("#cities option:contains(" + city + ")").attr('selected', 'selected'); 

如何選擇包含 '城市名稱384' 的選項時,組合的選擇將僅提供「城市名稱384'? (相同的字符串,不同的情況下) 我想的是一樣的東西:

$("#cities option.toLowerCase():contains(" + city.toLowerCase() + ")").attr('selected', 'selected'); 

但沒有奏效。 我無法手動設置var名稱,因爲它來自外部源。

回答

1

你需要使用.filter()

做選擇的選項的手動過濾
var city = 'CITY NAME 384'.toLowerCase(); 
$("#cities option").filter(function() { 
    return city == $.trim($(this).text()).toLowerCase() 
}).prop('selected', true); 

演示:Fiddle

+0

謝謝!成功了! – Azevedo

1
$("#cities option.toLowerCase()").filter(function() { return $(this).text().toLowerCase() == city.toLowerCase() }).attr('selected', 'selected'); 
+0

感謝好友* - – Azevedo