我需要根據選擇的國家來餵養城市。我做了編程,但不知道如何將JSON數據放入選擇框。我嘗試了幾種使用jQuery的方法,但都沒有成功。如何使用JSON數據填充選擇框的選項?
我得到的答覆(我可以格式化此不同,如果有必要):
["<option value='Woodland Hills'>Woodland Hills<\/option>","<option value='none'>none<\/option>","<option value='Los Angeles'>Los Angeles<\/option>","<option value='Laguna Hills'>Laguna Hills<\/option>"]
但我怎麼可以把這個數據作爲HTML <select></select>
標籤內的選項?
我嘗試代碼:
<form action="" method="post">
<input id="city" name="city" type="text" onkeyup="getResults(this.value)"/>
<input type="text" id="result" value=""/>
<select id="myselect" name="myselect" ><option selected="selected">blank</option></select>
</form>
</div>
<script>
function getResults(str) {
$.ajax({
url:'suggest.html',
type:'POST',
data: 'q=' + str,
dataType: 'json',
success: function(json) {
$('#myselect').append(json);
}
});
};
$('.suggest').keyup(function() {
getResults($(this).val());
});
</script>
我還試圖用這個tutorial on auto-populating select boxes using jQuery and AJAX,但從來沒有任何東西,除了填充我的選擇與「未定義」對我來說,即使我得到了在格式教程響應建議。
<script type="text/javascript" charset="utf-8">
$(function(){
$("select#city").change(function(){
$.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
$("select#myselect").html(options);
})
})
})
</script>
@Pizdabol:不客氣。您能否請我「接受」我的解決方案? – 2011-05-07 02:43:19