需要从数据库中获取值并使用jQuery填充下拉列表

时间:2009-04-26 07:42:17

标签: php javascript jquery

当我选择某个值时,我需要填充一个下拉列表 并且需要从数据库中查询选项。

我可以通过jQuery实现这一目标吗? 如果我可以请,我将不胜感激任何帮助..

4 个答案:

答案 0 :(得分:2)

你可以用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中,您需要使用sql查询的结果构建一个json对象,该对象必须采用这种格式(以便与上述脚本配合使用):

echo '{results:[{value:1, name:'Option1'}, {value:2, name:'Option2'}]};

答案 1 :(得分:0)

“下拉列表”是指弹出菜单(例如<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的语法是什么。

史蒂夫

答案 2 :(得分:0)

你绝对可以做到这一点。你需要使用AJAX。

Ajax本身就是一个主题,但基本上你要做的是在从下拉列表中选择时调用javascript函数。 javascript函数将通过Ajax从您的服务器请求一个页面,服务器将返回一小部分数据,您可以使用它(再次从Javascript)重新填充第二个下拉(或其他)。

谷歌围绕如何使用Jquery做Ajax。这是一个可以帮助您入门的页面: http://www.ajaxlines.com/ajax/stuff/article/use_jquery_ajax_to_create_options_in_a_dropdown_menu.php

答案 3 :(得分:0)

请注意,将每个<option>附加到<select>会为每个附加重新加载DOM。如果您有很多选择,这可能会变得非常慢。 使用字符串中的选项构建整个<select>然后替换现有字符串会更有效。