2015-07-21 48 views
0

我有一个JQuery的级联下拉,我从互联网几年前的工作正常。我想扩展它,以便在会话中记住团队选择。页面上的级联下载更改负载

前提是有一个团队中的用户,当您选择一个团队时,它将显示该团队中的活跃用户。如果您在加载页面后选择了团队,这将起作用,但如果设置了会话,则下拉不会级联,您必须重新选择团队才能级联。

$("select#memberid_active").attr("disabled", "disabled"); 
$("select#teamid_active").change(function() { 
    $("select#memberid_active").attr("disabled", "disabled"); 
    $("select#memberid_active").html("<option>Wait...</option>"); 
    var id = $("select#teamid_active option:selected").attr('value'); 
    $.post("selectconsultant_active.php", { 
     id : id 
    }, function(data) { 
     $("select#memberid_active").removeAttr("disabled"); 
     $("select#memberid_active").html(data); 
    }); 
}); 

这是下拉代码,我有PHP会话工作,但当页面加载时,级联下拉不会更新。该功能必须适用于页面加载时和更改时间。我尝试了一些不同的方法,但我真的不明白JQuery足以让它们工作。

任何帮助,将不胜感激。

感谢

回答

1

$("document").ready(function(){ 
 
    
 
/*This works to see if the active Option 
 
    is valid by default when loaded from session 
 
    and then fire the update method. As the default selected value for a dropdown is -1*/ 
 
    if($("select#teamid_active").val() != -1){  
 
    //Fire the udpate if the team dropdown has a value on DOC ready 
 
     updateTheUsersDropDown();  
 
    } 
 

 

 
}); 
 

 
$("select#memberid_active").attr("disabled", "disabled"); 
 
$("select#teamid_active").change(function() { 
 
    updateTheUsersDropDown(); 
 
}); 
 

 
var updateTheUsersDropDown=function(){ 
 
$("select#memberid_active").attr("disabled", "disabled"); 
 
    $("select#memberid_active").html("<option>Wait...</option>"); 
 
    var id = $("select#teamid_active option:selected").attr('value'); 
 
    $.post("selectconsultant_active.php", { 
 
     id : id 
 
    }, function(data) { 
 
     $("select#memberid_active").removeAttr("disabled"); 
 
     $("select#memberid_active").html(data); 
 
    }); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

请尝试这个曾经

+0

这似乎让我真的非常接近,但如果没有会话值设置不起作用。用户下拉菜单是空白的。如果我将新功能和旧功能组合在一起,这很奇怪,它会按预期工作。 <选择的id = “teamid_active” NAME = “teamid_active”> <期权价值= “”>选择... 我猜如果($( “#选择teamid_active”)。VAL()! = -1)应该是if($(“select#teamid_active”)。val()!=“”)? –

+0

@ M_Jones88是这样的事情,因为我不知道确切的标记。这是给你一个背景,你如何解决这个问题。你可以请标记答案 –

+0

真棒,节省了我的时间.. !!!! –