Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQuery通过下拉选择动态更改PHP值_Javascript_Php_Jquery - Fatal编程技术网

Javascript 使用JQuery通过下拉选择动态更改PHP值

Javascript 使用JQuery通过下拉选择动态更改PHP值,javascript,php,jquery,Javascript,Php,Jquery,我使用的下拉框如下: <select class="form-control" id="travelid" name="travelreport"> 使用javascript: <script> $(document).ready(function(){ $("#travelid").on('click', function(){ var v = $('#travelid').find('option:

我使用的下拉框如下:

<select class="form-control" id="travelid" name="travelreport">
使用javascript:

<script>

    $(document).ready(function(){

        $("#travelid").on('click', function(){            
        var v = $('#travelid').find('option:selected').val();
        $.get("includes/settravelid.php", { param1: v } );

        });
    });

    </script>
要从下拉框中获取所选项目的值,请将其发送到我的PHP文件:

<?php 

session_start();

$value = isset($_GET['param1']) ? $_GET['param1'] : '';

$_SESSION['travelReportID'] = $value;

 ?>

在这里,我可以设置值$travelReportID=$\u SESSION['travelReportID'];根据下拉框中的所选项目动态更改查询,但该操作不起作用。有什么想法吗?它似乎是工作,但不是刷新页面时,我选择了一些东西

在这种情况下,您必须使用on change函数

<script>

    $(document).on('change',"#travelid", function(){            
    var v = $(this).val();
    $.get("includes/settravelid.php", { param1: v } );

    });

</script>

如果要重新加载页面,可以使用$.get的回调函数。例如:{window.location.reload}

为什么要刷新页面?AJAX的关键在于它不会重新加载页面。如果您希望因此更改某些内容,则应回显PHP脚本中的内容,$.get的回调函数可以使用该响应对DOM进行更改。不要使用.delegate,use.on.changed delegate to ondelegate是一个旧函数,已折旧。我如何更改上述代码,然后动态更改MySQL查询并刷新页面信息?我正在使用$_SESSION['travelReportID']设置:$travelReportID=$_SESSION['travelReportID']的值;如果$travelReportID{$sql=SELECT*FROM tblExpenses,其中travelReportID=$travelReportID ORDER BY travelReportID DESC LIMIT$page\u 1,$per\u page;}否则{$sql=SELECT*FROM tblExpenses ORDER BY travelReportID DESC LIMIT$page\u 1,$per\u page;}在javascript代码中使用此代码,您的后端逻辑不存在更新变量的问题。