我正在处理一个表单,用户可以在其中选择 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>
最佳答案
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'];
关于php - jquery根据用户点击获取数据库查询并填充选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762872/