0

我不是 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] 的帖子变量。如何在同一段 javacode 中再次引用 select_type.php?

这是一个 3 件链式下拉菜单,其中..

下降 #1 产生下降 #2。下降 #1 和 #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>  

有什么帮助吗?

4

2 回答 2

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);
});

对于多个下拉列表,请参阅:如何处理多个选择下拉列表-JQuery。它使用的是静态内容,但我希望您可以修改它,在两者之间添加所需的 ajax 请求。

于 2012-08-11T05:07:48.200 回答
0

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

$.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);
    });
}); 
于 2012-08-11T02:52:59.883 回答