php中两个相互关联的下拉列表

时间:2014-12-01 09:24:24

标签: javascript php jquery mysql drop-down-menu

我有2个下拉列表,第一个下拉列表将静态填充,其值不会改变

<select name="first_dropdown"  id="first_dropdown" class="first_dropdown">  
  <option value="facility">facility</option>
  <option value="course">course</option>
  <option value="course">treatment</option>
</select>

现在我有3张桌子     1)facility_for_office     2)course_for_office     3)treatment_for_office

Facility_for_office

id  officefacilityid  officeid
1        F1             O1
2        F2             O2

course_for_office

id  officecourseid  officeid
1      C1             O2
2      C2             O3

treatment_for_office

 id  officetreatmentid  officeid
    1       T1              O1
    2       T2              O3

我希望如果用户从第一个下拉菜单中选择设施,那么第二个下拉列表应该显示facility_for_office表的列表,如果他选择了course,那么应该显示course_for_office的数据,如果选择了治疗,则第二个下降-down列表应显示来自treatment_for_office表的数据,如果未选择任何内容,则应禁用第二个下拉列表。我试图找到它的jquery,但是找不到合适的。任何人都可以告诉我如何做到这一点

3 个答案:

答案 0 :(得分:2)

这是制作级联下拉列表的方法....

http://www.infotuts.com/cascaded-dropdown-jquery-ajax-php/

答案 1 :(得分:0)

你需要使用AJAX。看看下面的教程:

http://www.webdevdoor.com/javascript-ajax/dynamic-select-list-jquery-php/

答案 2 :(得分:0)

您需要使用Ajax来获得所需的结果。您需要使用js&amp;获取第一个下拉列表的值。然后使用Ajax将值提交到PHP页面或函数中,其响应将是具有json格式值的所需选择框。成功后将用于替换div,我们需要在其中显示选择框。

 $(document).on('click','#edit_memberships',function() {

        var data = $('#first_dropdown').val();
        $.ajax({
            url: "/your controller/ Page location",
            type: "post",
            data:data,
            success: function(response){
                if(response.status=='success'){
                        $('#ajax_div').html(data.data.html);
                }
            }
        }); 
});

在上面的代码中#ajax_div是我们需要选择框的div的id。

在上面的代码中,您当前的选择框的值将作为数据传递,您将能够以$_POST['data']的形式收到此值。一旦在PHP中获得此值,就可以使用简单的if循环来选择要使用的表

if($_Post['data']=='facility'){ 
fetch data from Facility_for_office 
} elseif($_POST['data']=='course'){
 fetch data from course_for_office
}else{
fetch data from treatment_for_office
}

创建选择&amp;做Json Encode价值&amp;将它返回给你的功能。多数民众赞成你需要做的就是得到你想要的结果。