通过Javascript创建POST变量

时间:2012-08-11 02:45:36

标签: javascript ajax select drop-down-menu

我不是javascript专家,甚至不是业余爱好者。我找到了一些我正在玩的脚本,并想知道如何在代码中创建第二个变量。

   <script type="text/javascript">
        $(document).ready(function(){
            $("select#type").attr("disabled","disabled");
            $("select#category").change(function(){
            $("select#type").attr("disabled","disabled");
            $("select#type").html("<option>wait...</option>");
            var id = $("select#category option:selected").attr('value');
            $.post("select_type.php", {id:id}, function(data){
                $("select#type").removeAttr("disabled");
                $("select#type").html(data);
            });
        });
    });
    </script> 

   <script type="text/javascript">
        $(document).ready(function(){
            $("select#model").attr("disabled","disabled");
            $("select#type").change(function(){
            $("select#model").attr("disabled","disabled");
            $("select#model").html("<option>wait...</option>");
            var id = $("select#type option:selected").attr('value');
            $.post("select_model.php", {id:id}, function(data){
                $("select#model").removeAttr("disabled");
                $("select#model").html(data);
            });
        });
    });
    </script> 

在第二段代码中,我想获取类别ID并创建另一个名为$ _POST [cat_id]的post变量。如何在同一块javacode中引用select_type.php再次执行此操作?

这是一个3件链式下拉列表..

drop#1产生#2滴。掉落#1&amp; #2一起产生#3滴。

我需要知道的是如何在第一个下拉列表中添加第二个变量。

感谢任何帮助。


编辑:我试图添加这样的东西,但它不起作用。第二个变量需要来自下拉列表中的初始第一个选择,如select_type.php文件,或者如果以某种方式初始值可以存储并转移以帮助填充第三个选择:

   <script type="text/javascript">
        $(document).ready(function(){
            $("select#model").attr("disabled","disabled");
            $("select#type").change(function(){
            $("select#model").attr("disabled","disabled");
            $("select#model").html("<option>wait...</option>");
            var carrier = $("select#type option:selected").attr('value');
            $.post("select_model.php", {carrier:carrier}, function(data){
                $("select#model").removeAttr("disabled");
                $("select#model").html(data);
            });
            var countryid = $("select#category option:selected").attr('value');
            $.post("select_type.php", {countryid:countryid}, function(data){
                $("select#type").removeAttr("disabled");
                $("select#type").html(data);
            });         
        });
    });
    </script>  

任何帮助?

2 个答案:

答案 0 :(得分:0)

编辑--- 我误解了你的要求。您需要在第一个保管箱上设置事件处理程序。你需要做更多这样的事情:

$.post("select_model.php", {carrier:carrier}, function(data){
    $("select#model").removeAttr("disabled").html(data);
});
$("select#category").change(function(){
    var countryid = $("select#category option:selected").attr('value');
    $.post("select_type.php", {countryid:countryid}, function(data){
        $("select#type").removeAttr("disabled").html(data);
    });
}); 

答案 1 :(得分:0)

这就是你可以做到的。

var id = $("select#type option:selected").attr('value');
var categoryID = 34; 
$.post("select_model.php", {id:id, cat_id:categoryID}, function(data){
    $("select#model").removeAttr("disabled");
    $("select#model").html(data);
});

如需多次下拉,请参阅:How to handle multiple select dropdown - JQuery。它使用静态内容,但我希望你可以修改它,在中间添加所需的ajax请求。