Php 根据在选择框中所做的选择显示文本
如何运行一个PHP查询,该查询仅在从select下拉列表中选择选项时运行,而且每次选择不同的选项时都会刷新 例如,以下是HTML:Php 根据在选择框中所做的选择显示文本,php,javascript,jquery,Php,Javascript,Jquery,如何运行一个PHP查询,该查询仅在从select下拉列表中选择选项时运行,而且每次选择不同的选项时都会刷新 例如,以下是HTML: <html> <head> <script type="text/javascript" src="/hr/includes/jui/js/jquery-ui-1.8.20.min.js"</script> <script> $(document).ready(function() { $('#selec
<html>
<head>
<script type="text/javascript" src="/hr/includes/jui/js/jquery-ui-1.8.20.min.js"</script>
<script>
$(document).ready(function() {
$('#select_box_1').change(function() {
if($(this).val() != '')
$.ajax({
type: 'get',
url: 'balance1.php',
data: 'value' + $(this).val() ,
success: function(data) {
$("#result-div").html(data);
}
});
}
});
});
</script>
</head>
<body>
<form name="form" id="form" method="post" action="validate.php">
<div id="select_box_1">
<select name="drop_down">
<option value="">Please choose</option>
<option value="1">John</option>
<option value="2">Bob</option>
<option value="3">Mike</option>
</select>
</div>
<div id="result-div">
</div>
<input type="submit">
</form>
</body>
</html>
balance1.php
<?php
print "GET Value:".$_GET['value'];
?>
我想根据选择的值在选择框下方运行查询-例如,如果未选择任何内容,则不会运行查询。如果用户从列表中选择John,则查询将在id=1的位置运行,并显示John的结果。如果用户随后选择Bob,则应在id=2的位置再次运行查询,依此类推?尝试以下操作:
$("#select_box_1").change(function(){
if ($(this).val() != "") {
$.ajax({
type: "POST",
url: "foo.php",
data: "id=" + $("#select_box_1").val(),
success: function(msg){
$("#result").text(msg);
}
});
}
});
我建议您使用jquery.ajax,它比您想象的要强大得多!下面是使其工作的示例代码
$('#select_box_1').change(function() {
if($(this).val() != '')
$.ajax({
type: 'get',
url: 'URL To Your PHP Script',
data: 'value' + $(this).val() ,
success: function(data) {
$("#result-div").html(data);
}
});
}
});
编辑:$\u GET['value']将保存php脚本中的值,您可以使用该值查询数据库,并将结果或输出返回到ajax调用,然后您只需在html视图中填充数据,如果您每次在下拉列表中更改值时都重新加载页面,然后可以在选择标记中使用onchange属性 更改值时重新加载页面,并在URL中设置GET变量。如果这个GET变量为NULL,那么不要处理PHP代码。。。否则将相应地进行处理。这正在工作:
[...]
<select name="drop_down" id="sel_something">
[...]
$('#sel_something').change(function() {
if($(this).val() != '') {
$.ajax({
type: 'get',
url: 'someurl',
data: { 'value' : $(this).val() } ,
success: function(data) {
// do your stuff
}
});
}
});
我给select提供了一个id,修改了数据行,并添加了一些语法更正。例如,使用AJAX.AJAX或.get。我不会每次都重新加载页面,我知道在提交表单之前,唯一会更改select框中的值。我只是问你是否同意重新加载页面。当下拉列表中的值更改时,onchange属性中的reload函数将导致页面重新加载,php脚本将再次处理。如果你不想重新加载页面,那么你可以一直使用Ajax。谢谢你——在url调用的PHP脚本中,我如何从选择框访问值?i、 e.选择John时,从id=1的数据库中选择名称,或者在选择Bob时从id=2的数据库中选择名称?现在什么都不做:在编辑之前,它显示了包含的php文件的内容,但没有传递值,因此我无法进行选择,但现在,当我从下拉列表中选择名称时,不幸的是,什么都没有发生。当我删除if语句时,它的工作原理是显示php文件的内容,因此看起来select中的选项值没有被选中。请在您的问题中粘贴您的php脚本,让我看看!脚本非常庞大,因此为了简化操作,我尝试使用一个只包含内容的脚本,但仍然没有发生任何事情-我编辑了我的原始脚本以包含整个HTML,PHP文件实际上只有一行print GET现在在您的if条件下,您可以这样做if$this.val,因为$this.val实际上持有DOM。当做