jQuery:基于前一个下拉选择的下拉选项

时间:2012-06-07 18:58:18

标签: jquery

我正在尝试根据第一个选择填充第二个下拉框。 我做了我的研究,发现大多数提供的建议/解决方案都预装了下拉值。

我正在尝试访问数据库并获取值。我能够在Javascript中解决这个问题,但我发现Jquery解决方案会很有效,因为我在数据库中有很多项目。

所以这就是我到目前为止所拥有的。关于如何使用MySQL查询从数据库中检索数据并自动填充的任何建议?

<script type="text/javascript">
jQuery(document).ready(function($) {
    $(".countryDropDown").change(function() {
        var country = $(this).val();
        function fillStateDropDown(countryStateOption) {
            $.each(countryStateOption, function(val, text) {
                $('.stateDropDown').append(
                $('<option></option>').val(val).html(text));
            });
        }
        function clearStateDropDown() {
            $('.stateDropDown option:gt(0)').remove();
        }
        if (country == 'INDIA') {
            clearStateDropDown();
            var indiaStateOption = {
                RAJASTHAN: 'Rajasthan',
                GUJRAT: 'Gujrat',
                MAHARASTRA: 'Maharastra'
            };
            fillStateDropDown(indiaStateOption);
        }
        else if (country == 'UK') {
            clearStateDropDown();
            var ukStateOption = {
                LONDON: 'London',
                LIVERPOOL: 'Liverpool',
                DERBY: 'Derby'
            };
            fillStateDropDown(ukStateOption);
        }
        else if (country == 'USA') {
            clearStateDropDown();
            var usaStateOption = {
                CALIFORNIA: 'California',
                TEXAS: 'Texas',
                NEWYORK: 'New York'
            };
            fillStateDropDown(usaStateOption);
        }
        var stateOptions = {
            val1: 'text1',
            val2: 'text2'
        };
    });
});​
</script>

1 个答案:

答案 0 :(得分:0)

我正在开发一个项目,它实现了你在这里提到的确切功能。我的实现有点长,告诉你我需要AJAX和JSON将值传递给PHP,PHP将处理项目的所有数据库部分。

思考MVC架构。您的视图将是您的.html文件,其中包含与包含JQuery / AJAX / JSON的.js文件一起使用的HTML / Javascript。

从.js文件中,您将使用AJAX来调用您的Controllers,a.k.a。.php文件,这些文件只应包含PHP函数。这些将处理您提供的任何传入数据,在您的情况下,下拉菜单的ID和从下拉列表中选择的VALUE,您将使用JQuery获取。

在您的Controller文件中,您将调用Model中的函数,这是另一个.php文件,其中包含将根据您的需要处理SQL查询的函数。

听起来很多,如果你对MVC编码风格不满意,可能就是这样,但我向你保证实现并不困难,你只需要确保你的AJAX / JSON / JQuery正在做他们的工作'应该这样做,那么PHP应该处理剩下的事情。

值得庆幸的是,有很多关于“使用JQuery Mobile with MVC”的内容。首先进入:http://jquerymobile.com/resources/并阅读这些项目。

祝你好运!