在组合框中,我使用Jquery中的AJAX将参数发布到url,并使用以下脚本:
$('#plant').change(function(e2){
$('#location').html('<img src="02_files/01_images/loading.gif">');
var plant = $(this).val();
$.ajax({
type: "POST",
url: "03_themepage/sfer/otherforms/z161_combobox_action.php",
data: "plant="+plant,
success: function(data){
$('#location').html(data);
}
});
});
当我运行脚本时,在从此组合框中选择选项后,在url中,不显示参数“plant”。实际上网址根本没有改变。
同时,我需要第一个组合框中的数据(根据选择),包含在下一个组合框中。
$('#location').change(function(e3){
$('#maingroup').html('<img src="02_files/01_images/loading.gif">');
var location = $(this).val();
$.ajax({
type: "POST",
url: "03_themepage/sfer/otherforms/z161_combobox_action.php",
data: "plant="+plant+"&location="+location, //plant data taken from previous url post
success: function(data){
$('#maingroup').html(data);
}
});
});
最后一个组合框将需要这两个数据。
我的问题是,如何将第一个组合框中的参数数据包含在第二个组合框中,因为它没有显示在网址中?
答案 0 :(得分:1)
Ajax不会更改URL,但请求在不刷新页面的情况下完成,您可以通过网络选项卡查看。要获取第一个组合框值plant
变量,请将工厂变量声明为全局状态,如下所示:
// global declaration, can be accessed inside 2nd handler as well
var plant;
$('#plant').change(function(e2){
$('#location').html('<img src="02_files/01_images/loading.gif">');
plant = $(this).val(); // <---- here assign the post value(selected value)
.....
.....
});
然后在第二个组合框中,只需像你那样调用这些变量。