我有一个名为Category的下拉列表,这些选项由查询MySQL表中的类别名称的PHP脚本填充。如果选择<option>,请再次运行查询
在它的旁边,我有一个名为子类别下拉列表中,选择也通过在一个MySQL表子类别名称的查询PHP脚本填充。
我想重新运行的子类别查询修改子类别下拉菜单中的值,根据其类别已经从类别下拉菜单中选择上。
而且我不想让页面刷新,所以我想jQuery的可能有一些用在这里?
我有一个名为Category的下拉列表,这些选项由查询MySQL表中的类别名称的PHP脚本填充。如果选择<option>,请再次运行查询
在它的旁边,我有一个名为子类别下拉列表中,选择也通过在一个MySQL表子类别名称的查询PHP脚本填充。
我想重新运行的子类别查询修改子类别下拉菜单中的值,根据其类别已经从类别下拉菜单中选择上。
而且我不想让页面刷新,所以我想jQuery的可能有一些用在这里?
像这样的事情?
$(document).ready(function(){
var select = $("#select-element");
select.change(function(){
$.ajax({
type : 'POST',
url: "url-of-your-php-script",
data: {
'data-name' : 'data-to-send'
}
success : function(returned){
// Append variable results to select..
}
});
});
});
似乎是正确的,我可以让jquery/ajax发送选定的值,但是,我如何将查询结果返回到下拉菜单中?我猜成功:函数(返回)应该改变子类别的下拉列表,但我应该返回$ subcat1,$ subcat2等,或者将子类别格式化为外部php中的html字符串,将其转换为单个变量,然后返回那? – user1621945
为了让您的PHP数组准备好使用JSON_encode,然后只需遍历它并将其附加到您选择的项目。 – intelis
的子类别下拉应留意变化事件的父类。在JQuery中,你可以使用它。
$( '#父')。改变(函数(){
var parent = $(this).val();
// Remove current subcategory options
$('#child').children().remove();
// AJAX POST
$.ajax({
type:'POST',
data: 'parent='+parent,
url: 'process.php',
success: function(data){
// Fill the subcategory with new options using jquery each method
}
});
});
一般情况下,你不应该使用jQuery(或与此有关的任何其他框架),除非你”你已经在下载了一个页面,当你的浏览器正在下载脚本和库(其中,jQuery可能是最大的)时,你的页面的其他部分不能执行,我不知道为什么,但它不下载图片,加载iframe,也没什么。
,您可根据AJAX请求下载新CON帐篷。要小心,因为这意味着你实际上正在编写一个访问数据库的web服务,所以请确保在服务器和javascript中验证输入,并为丢弃/删除操作开发某种安全性。
这里是一个用于Ajax的native javascript tutorial,但如果你对AJAX感兴趣,你可以use it。
的基本目标是:
我恳求你一定要理解AJAX在本机代码,你让jQuery的做这一切为你。即使您最终选择使用jQuery框架,它也会在调试,升级和重用此代码时为您提供帮助。
请不要链接到w3schools。 http://en.wikipedia.org/wiki/XMLHttpRequest –
连接到W3学校绝对没有错。我承认我没有完成整个教程,所以我不一定会担保,但我发现他们的网站是新概念的一个非常有用的起点。它通常足够接近正确的开始。 – FrankieTheKneeMan
你的意思是这样的:http://remysharp.com/wp-content/uploads/2007/01/select.html –