0
我使用http://geoplugin.net插件來檢測用戶的位置。我有一個<select>
與狀態的列表,並使用jQuery使用GeoPlugin設置選定選項
$.getJSON(url, function(data){
var state = data['geoplugin_region'];
$('#states').val(state).attr('selected',true);
var selectId = "#" + state ;
var citySelect = selectId + "-cities";
$(citySelect).show();
});
然後,它使用另一個插件我寫的,以顯示正確的選擇具有該州的城市。我的格式是華盛頓的選擇ID是WA-cities
。
然後我寫了這個:
var detectedCity = data['geoplugin_city'];
var city = detectedCity.replace(" ","-");
var selectedCity = city.toLowerCase();
var stateDash = state + "-";
var selectedValue = stateDash + selectedCity;
$(citySelect).val(selectedValue).attr('selected',true);
,但檢測到的城市,是不是在選擇的時候,它只是返回的第一個值。我怎樣才能檢查該城市是否在選擇,然後只選擇它,如果它在那裏。我的選擇是這樣設置的(對於華盛頓):
<select name="cities" id="WA-cities" class="cities">
<option value="" selected="selected" disabled>Select a City</option>
<option value="WA-bellingham">Bellingham</option>
<option value="WA-seattle">Seattle</option>
</select>
實際上有更多的城市在選擇。但是我在Mercer島被發現,這不在選擇。 JavaScript說$(citySelect).val('WA-mercer-island).attr('selected',true);
,但只是選擇了Bellingham,因爲沒有Mercer島。我該怎麼辦?