我創建了一個腳本,它向服務器發出請求並獲取一些用於創建下拉菜單的數據的json響應,在某些情況下,服務器返回一個單一值,當然,產生下拉只有一個選項(如下)使用一個選項觸發事件onChange下拉菜單
<div id="wrap">
<select class="click_me">
<option value="1">foo</option> --> this value comes from a json response.
</select>
</div>
這是我的jQuery腳本(我認爲這是自我解釋)
$('#wrap').on('change', 'select', function() {
var container = $('#wrap');
var self = $(this);
self.nextAll().remove();
$.ajax({
type: 'GET',
url: 'server/stuff?id=' + self.val(),
dataType: 'json',
success: function(data) {
if (data) {
var options = self.clone().empty().appendTo(container); //clone current dropdown.
$.each(data, function(key, value) {
$.each(value, function(key, value) {
options.append($("<option />").val(key).text(value)); //fill cloned element with new data
});
});
} else {
console.log('Nothing more');
}
}
});
});
如果用戶得到一個下拉一個選項,上面的腳本不起作用。我認爲onchange事件沒有被觸發,我嘗試了onclick事件,但是當用戶只想打開下拉菜單時,它會觸發。
請任何建議表示感謝。
感謝
糾正我,如果我錯了。您將數據加載到json響應的下拉列表中。那麼用戶應該從下拉列表中選擇一個選項,然後再對其進行更改。在那種情況下,爲什麼只有一個選項時需要自動化? –
我的回答對你有用嗎? –
Sandiip Patil:下拉式表示一個州內存儲的數據(國家>州>城市>培訓中心)只能存在一個城市,但在該城市可能存在許多培訓中心),這就是我在我的問題中解釋的問題 –