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代码中使用此代码,您的后端逻辑不存在更新变量的问题。