2012-10-19 33 views
0

我有一个名为Category的下拉列表,这些选项由查询MySQL表中的类别名称的PHP脚本填充。如果选择<option>,请再次运行查询

在它的旁边,我有一个名为子类别下拉列表中,选择也通过在一个MySQL表子类别名称的查询PHP脚本填充。

我想重新运行的子类别查询修改子类别下拉菜单中的值,根据其类别已经从类别下拉菜单中选择上。

而且我不想让页面刷新,所以我想jQuery的可能有一些用在这里?

+0

你的意思是这样的:http://remysharp.com/wp-content/uploads/2007/01/select.html –

回答

1

像这样的事情?

$(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.. 
      }     
     });    
    }); 
});​ 
+0

似乎是正确的,我可以让jquery/ajax发送选定的值,但是,我如何将查询结果返回到下拉菜单中?我猜成功:函数(返回)应该改变子类别的下拉列表,但我应该返回$ subcat1,$ subcat2等,或者将子类别格式化为外部php中的html字符串,将其转换为单个变量,然后返回那? – user1621945

+0

为了让您的PHP数组准备好使用JSON_encode,然后只需遍历它并将其附加到您选择的项目。 – intelis

0
  1. 是你有你正确的使用jQuery $就()或$。员额()函数明确。
  2. 的子类别下拉应留意变化事件的父类。在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 
    
          } 
          }); 
    
        }); 
    
1

一般情况下,你不应该使用jQuery(或与此有关的任何其他框架),除非你”你已经在下载了一个页面,当你的浏览器正在下载脚本和库(其中,jQuery可能是最大的)时,你的页面的其他部分不能执行,我不知道为什么,但它不下载图片,加载iframe,也没什么。

,您可根据AJAX请求下载新CON帐篷。要小心,因为这意味着你实际上正在编写一个访问数据库的web服务,所以请确保在服务器和javascript中验证输入,并为丢弃/删除操作开发某种安全性。

这里是一个用于Ajax的native javascript tutorial,但如果你对AJAX感兴趣,你可以use it

的基本目标是:

  1. 写了一个网页,需要作为参数的新参数查询, 然后
  2. 与AJAX调用它,
  3. 使用返回的信息重新填充你的下拉菜单。

我恳求你一定要理解AJAX在本机代码,你让jQuery的做这一切为你。即使您最终选择使用jQuery框架,它也会在调试,升级和重用此代码时为您提供帮助。

+0

请不要链接到w3schools。 http://en.wikipedia.org/wiki/XMLHttpRequest –

+0

连接到W3学校绝对没有错。我承认我没有完成整个教程,所以我不一定会担保,但我发现他们的网站是新概念的一个非常有用的起点。它通常足够接近正确的开始。 – FrankieTheKneeMan

相关问题