【问题标题】:load list of values to the listbox based on another listbox value根据另一个列表框值将值列表加载到列表框
【发布时间】:2011-10-26 04:48:47
【问题描述】:

在更改另一个列表框值时将不同的值列表(从数据库)加载到列表框 例如: 第一个列表框:-选择等级-

第二个列表框:-选择主题-

请帮忙 谢谢你

【问题讨论】:

    标签: php javascript html database


    【解决方案1】:

    基本思想是将数据提交到服务器(通过 POST 回传或 AJAX),然后用数据进行响应。

    <select id="mySel" onChange="sendData()">
    

    我在那里所做的是添加了一个 javascript 函数,每次下拉值发生变化时都会调用它。

    function sendData() {
        $.post("processData.php", {selected: $(this).val()}, updateData(data));
    }
    

    这是我为 select onChange 事件编写的函数的骨架。我在这里跳过了一两步,并使用 jQuery 来帮助创建返回服务器的 AJAX 请求。我将调用我的 php 脚本processData.php 来帮助处理选择了哪个元素。 {} 包含我要发送到服务器的数据,在这种情况下是选定的值。最后,从服务器取回数据后该怎么办。

    现在我将在我的 php 文件中,能够处理我接收的数据并运行我的查询来获取新数据。完成后,我只需 json_encode 数据并回复。

    现在回到 javascript 世界,我的 UpdateData 函数被自动调用并传递了 json 数据。

    function updateData(data) {
        var select = '<select name="sel2">';
        $().each(data, function(index, val){
            select += '<option name="'+ index+ '">'+ value+ '</option>';
        });
        $("#mySel").parent.append(select);
    }
    

    这将允许我从返回的数据中生成一个新的选择列表(假设 json 中的键/值配对数组)。

    我实际上没有测试任何代码,它被设计成更多的指南和伪代码。

    【讨论】:

      【解决方案2】:

      当用户从一个选择元素中选择一个值时,发送一个 XMLHttpRequest 以获取数据以填充第二个选择元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-11
        • 1970-01-01
        相关资源
        最近更新 更多