javascript - 在 Javascript 中通过 GET 获取 div id

标签 javascript php jquery mysql

再见

我需要根据用户选择创建一个动态表单。

即在第一个表单字段中,我选择 "John Smith",这将填充(通过外部 php/mysql 文件)第二个选择字段 "Artist, Carpenter, Other",如果我选择艺术家,我会用 "Singer, Painter, Sculptor" 等填充第三个选择字段

鉴于我在 javascript 方面的无能,我花了一上午的时间在谷歌上搜索脚本,然后我找到了一个 cool tutorial here

它有效,它很干净,但它只更新 ID 为 txtResult 的 div,它静态包含在 js 文件中(参见 ajax_req.js 文件的第 19 和 31 行)。 js).我以为我可以通过 GET 传递 id 名称,但我不知道如何让脚本识别变量。

这是代码:

function stateChanged()  
{  
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")  
   {  
           document.getElementById("txtResult").innerHTML= xmlHttp.responseText;  
   }  

} 

我想通过 GET id name 并有这样的东西:

function stateChanged()  
{  
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")  
   {  
           document.getElementById("GET[idName]").innerHTML= xmlHttp.responseText;  
   }  

} 

你能帮帮我吗?如果你碰巧知道更好的东西,我也可以更改脚本

再见,谢谢,

埃德

最佳答案

这是 HTML ...

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
        <script type="text/javascript">
        $(function(){
            $.get('x.php?f_name=get_names',function(data){
                $("#select_name").html(data);
                $.get("x.php?f_name=get_jobs&s_name="+$("#select_name").val(),function(data){
                    $("#select_job").show();
                    $("#select_job").html(data);
                })
            });


            $("#select_name").change(function(){
                $.get("x.php?f_name=get_jobs&s_name="+$("#select_name").val(),function(data){
                    $("#select_job").html(data);
                })

            });





        })

        </script>
    </head>
    <body>
        <select name="name" id="select_name">

        </select>

        <select name="job" id="select_job"></select>
    </body>
    </html>

,这是PHP端(在代码中称为x.php)

    <?php
        $names = array("A","B","C");
        $jobs  = array(array("Job_1","Job_2") ,array("Job_1"), array("Job_1","Job_2","Job_3"));
        GLOBAL $names;
        GLOBAL $jobs;


        switch ($_GET['f_name']) {
            case 'get_names':
                get_names($names);
                break;
            case 'get_jobs':
                get_jobs($jobs,$_GET['s_name']);
                break;
            default:
                # code...
                break;
        }





        function get_names($names){
            foreach ($names as $key=>$value) {
                echo "<option value='$key'>$value</option>";
            }
            return false;
        }
        function get_jobs($jobs,$s_name){
            foreach ($jobs[$s_name] as $key => $value) {
                echo "<option value='$key'>$value</option>";
            }
            return false;
        }



    ?>

您可以创建自己的数组,例如 $names 和 $jobs,并添加一些 case 以切换以获得更复杂的系统...

祝你有美好的一天。

关于javascript - 在 Javascript 中通过 GET 获取 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091549/

相关文章:

javascript - Angular 1.5 组件方法 templateUrl + function

javascript - 谷歌搜索框需要移动到屏幕中间(X :0 Y:0)

Javascript:需要解决方法:Internet Explorer 在更改 href 时更改链接文本

php - 在opencart中为不同组用户创建一个注册页面

PHP 添加到数组的开头而不重新排序

javascript - .html() 在 Internet Explorer 中不起作用

javascript - 使用 Jquery 切换 div

jquery - 我可以将 jQuery 的事件函数与普通的旧对象一起使用吗?

javascript - 在 .slice 之后重置 JSON 数组

php - 如何使用 PHP 解析此 XML 字符串