【问题标题】:jquery to get database query based on user click and populate select listjquery 根据用户单击获取数据库查询并填充选择列表
【发布时间】:2012-07-30 13:30:55
【问题描述】:

我正在制作一个表单,用户可以从 A - Z 中选择一个字母来选择用户名以该字母开头的用户列表。

我想要做的是当用户单击一个字母时,调用一个 php 脚本来执行一个数据库查询,该查询会提取以单击的字母开头的任何用户名。

我发现这个页面让我开始了http://openenergymonitor.org/emon/node/107 以及这个更接近我想做的事情Simple Ajax Jquery script- How can I get information for each of the rows in the table?

我想要对返回的结果做的是将它们放在一个 SELECT 列表中,并且当用户单击不同的字母时,该列表内容将替换为新的查询结果。

我不确定如何以及如果可能的话将字母传递给 php 脚本,以便我可以在数据库中搜索以该字母开头的用户名。

编辑:我希望它得到改进,但我收到 Ajax 错误:ParseError

这是我目前的代码

<div>
        <ul>
            <li class="alphabets" id="All">All</li>
            <li class="alphabets" id="A">A</li>
            <li class="alphabets" id="B">B</li>
            <li class="alphabets" id="C">C</li>
            <li class="alphabets" id="D">D</li>
    </ul>
</div>
<div id="recipients">
    $(document).ready(function(){
                $("li.alphabets").click(function(){
                    var the_letter = $(this).text();
                    alert(the_letter);

                    $.ajax({                                      
                        url: 'php/selectuser.php', type: 'GET', data: {'letter':the_letter}, dataType: 'json',  success: function(rows) {
                            var options = '';
                            for (var i in rows) {
                                var row = rows[i];          
                                var id = row[0];
                                var vname = row[1];

                                options += '<option value="' + id + '">' + vname + '</option>';
                            } 
                            $("#userlist").html(options);
                        } 
                    });
                });
            });
    <select id="userslist" name="recipients" size="5">



    </select>
</div>

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    jQuery 的 .ajax() 方法有一个名为 data 的参数,它允许您传递变量:

    // Get letter from SELECT element
    the_letter = $("#myselect").val();
    
    $.ajax({ 
      url:  'somepath/to/my/script.php',
      type: 'GET',
      data: {'letter':the_letter} 
    });
    

    它将它作为 GET 参数传递,可以在您的 PHP 脚本中轻松检索:

    $letter = $_GET['letter'];
    

    【讨论】:

    • 感谢您的快速回复。这就说得通了。您能告诉我如何在 SELECT 列表中获取它吗?
    • 查看我的更改。如果您将
    猜你喜欢
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    相关资源
    最近更新 更多