我的表單有一個列表框,要求用戶的國家,但我只想填充列表框,通過AJAX調用,如果框不會已經不顯示用戶的國家。最初,列表框僅包含一個國家 - 從服務器上的IP到國家查找返回的國家。使用jquery和框的單擊事件自動填充國家名稱列表框
看來,列表框的默認操作發生在我的事件操作之前。我希望首先執行我的操作,以便當用戶單擊列表框時,該框會在打開框之前預先填入從服務器拉出的國家/地區。
感謝您的任何建議。
$().ready(function() {
$('select#selCountry').one('click', function() {
var selCountry = $('select#selCountry');
var selected = $(selCountry).val();
selCountry.html('<option value="">Loading...</option>');
$.getJSON('/AjaxHelpers/CountryList', function(data) {
if (data.length) {
var options = '';
for (var i = 0; i < data.length; i++) {
var key = data[i].Key;
var val = data[i].Value;
options += '<option value="' + key + '"';
if (key == selected) {
options += ' selected="selected"';
}
options += '>' + val + '</option>';
}
selCountry.html(options);
}
else {
selCountry.html('<option value="">Failed.</option>');
}
});
});
});
HTML:
<div>
<select id="selCountry" name="CountryCode"><option value="GB">United Kingdom</option>
什麼是「默認操作」。這段代碼究竟發生了什麼,你不想發生什麼? – mkoryak 2009-07-24 12:45:00