【问题标题】:jQuery: Dropdown option based off the previous dropdown selectionjQuery:基于先前下拉选择的下拉选项
【发布时间】:2012-06-11 21:08:57
【问题描述】:

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

我正在尝试访问数据库并获取值。我能够在 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>

【问题讨论】:

    标签: jquery


    【解决方案1】:

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

    想想 MVC 架构。您的视图将是包含 HTML/Javascript 的 .html 文件以及包含 JQuery/AJAX/JSON 的 .js 文件。

    从您的 .js 文件中,您将使用 AJAX 调用您的控制器,也就是 .php 文件,它应该只包含 PHP 函数。这些将处理您提供的任何传入数据,在您的情况下是下拉菜单的 ID 和从下拉菜单中选择的 VALUE,您将使用 JQuery 来获取。

    从您的控制器文件中,您将调用模型中的函数,另一个 .php 文件包含将根据您的需要处理 SQL 查询的函数。

    听起来很多,如果您对 MVC 编码风格不满意,可能会出现这种情况,但我向您保证,这并不难实现,您只需要确保您的 AJAX/JSON/JQuery 正在执行他们的操作'应该做,那么 PHP 应该处理其余的。

    谢天谢地,有很多关于所谓的“将 JQuery Mobile 与 MVC 结合使用”的内容。开始进入:http://jquerymobile.com/resources/ 并阅读这些项目。

    祝你好运!

    【讨论】:

    • 非常感谢您的意见。我对 MVC 的了解有限,而我是 jQuery 的初学者。我这周才开始。我会尝试进行更多研究并使用您的建议。
    • 当然,如果您仍有疑问,请告诉我,我自己已经完成了学习曲线,因此我与您面前的任务有关。 P.S.:表示感谢的最佳方式是投票或接受答案 :) 再次祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多