需要从数据库中获取价值和使用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

+0

获取值没有问题,但是,如何填充下拉列表? – jarus 2009-04-26 07:49:05

+0

对,我明白了。我已经更新了我的答案以解决您的问题。 – 2009-04-26 08:00:16

你绝对可以做到这一点。你需要使用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>效率更高,然后替换现有的选项。