您好,我需要填充一個下拉列表,當我選擇特定的值, 和選項需要從數據庫中查詢..需要從數據庫中獲取價值和使用jquery
我可以從jQuery實現這個嗎? 如果我可以請,我將不勝感激任何幫助..
您好,我需要填充一個下拉列表,當我選擇特定的值, 和選項需要從數據庫中查詢..需要從數據庫中獲取價值和使用jquery
我可以從jQuery實現這個嗎? 如果我可以請,我將不勝感激任何幫助..
你可以用jQuery和AJAX
做jQuery.post('dropdownValues.php', {parameterSentToServer1:'value', param2:'value2'}, function(data){jQuery('#mydropdown option').remove(); //Remove current options
for (var option in data.results){
jQuery('#mydropdown').append('<option value="'+option.value+'">'+option.name+'</option>');
}}, 'json');
在dropdownValues.php
你需要建立一個JSON對象與SQL的結果查詢對象必須是這種格式(與上面的腳本運行良好):
echo '{results:[{value:1, name:'Option1'}, {value:2, name:'Option2'}]};
「下拉列表」指的是一個彈出菜單(例如<select>
元素)?如果是這樣,你可以按如下填充它:
var data = ["Hello World!", 42, true, "Foo"];
var select = document.getElementById("myPopupMenu");
for (var i = 0, l = data.length; i < l; i++)
{
var option = new Option();
option.innerHTML = data[i];
select.appendChild(option);
}
然而,這是普通的JavaScript - 我不知道jQuery的語法是什麼。
Steve
你絕對可以做到這一點。你需要使用AJAX。
Ajax本身就是一個主題,但基本上,當從下拉列表中進行選擇時,您要做的就是調用JavaScript函數。 javascript函數將通過Ajax從您的服務器請求一個頁面,服務器將返回一小塊數據,然後您可以使用它(從Javascript再次)重新填充第二個下拉列表(或其他)。
Google圍繞如何用Jquery來做Ajax。這裏有可能讓你開始一個頁面:http://www.ajaxlines.com/ajax/stuff/article/use_jquery_ajax_to_create_options_in_a_dropdown_menu.php
你可以用這個插件troubleless做到這一點。 http://www.texotela.co.uk/code/jquery/select/
請注意,將每個<option>
附加到<select>
將重新加載每個追加的DOM。如果您有很多選擇,這可能會變得非常緩慢。 使用字符串中的選項構建整個<select>
效率更高,然後替換現有的選項。
獲取值沒有問題,但是,如何填充下拉列表? – jarus 2009-04-26 07:49:05
對,我明白了。我已經更新了我的答案以解決您的問題。 – 2009-04-26 08:00:16