Php 根据在选择框中所做的选择显示文本

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

如何运行一个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() {
    $('#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。当做