使用ajax将数据从动态选择框传递到php,无需提交或重新加载
我想创建两个选择框:一个从数据库获取选项,另一个根据第一个选择框的值获取选项 我的当前代码如下:我从第一个框中获得了值,其中包含一个警报,但不知道如何在第二个框的sql查询中获得该值。我的文档名是tutorial.php,除了include/config.php中的数据库函数之外,我没有使用任何其他文件 我已经学习了几十个教程和堆栈溢出答案,但我无法让它工作。如何在同一页面上获取php代码的select值 jquery:使用ajax将数据从动态选择框传递到php,无需提交或重新加载,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我想创建两个选择框:一个从数据库获取选项,另一个根据第一个选择框的值获取选项 我的当前代码如下:我从第一个框中获得了值,其中包含一个警报,但不知道如何在第二个框的sql查询中获得该值。我的文档名是tutorial.php,除了include/config.php中的数据库函数之外,我没有使用任何其他文件 我已经学习了几十个教程和堆栈溢出答案,但我无法让它工作。如何在同一页面上获取php代码的select值 jquery: <script src="//ajax.googleapis
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="js/script.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$( "#shoot" ).change(function(){
id_firstSelect = $("#shoot").val();
loadSecondSelect(id_firstSelect);
});
function loadSecondSelect(first_id)
{
$("#model").ready(function(e)
{
$.get(
route.php, //Filter your select
params, // In this case your id
function(result)
{
$("#model").empty();
$("#model").append('<option value="0">-- Select --</option>');
if(result.response['id_second'].length) // this receive your data
{
for(var i=0, len=result.response['id_2'].length; i<len; i++)
{
$("#model").append('<option value="' + result.response['id_2'][i] + '">' + result.response['name_2'][i]+'</option>');
}
}
},
"json");
});
}
});
</script>
带有php函数的表单:
<form action="" method="POST" enctype="multipart/form-data">
<div>
<select name="category">
<option value="paard" selected>Paarden</option>
<option value="hond">Honden</option>
<option value="mens">Mensen</option>
<option value="eigen">Eigen werk</option>
</select>
<input type="file" name="files[]" multiple id="file"/><p>
Ophalen uit database shoots:
<select name="shoot" id="shoot">
<?php
$values = mysql_query("SELECT distinct name FROM shoots") or die(mysql_error());
//$numrows = mysql_num_rows($values);
while ($result=mysql_fetch_array($values)){
echo "<option value='".$result['name']."'>".$result['name']."</option>";
}
?>
</select><p>
<select name="model" id="model"></select>
<label class="radio">Portfoliomateriaal</label>
<input type="radio" name="folio" value="TRUE" /> <span>Ja</span>
<input type="radio" name="folio" value="FALSE" checked /> <span>Nee</span><p>
<input type="submit" value="Upload" id="submit" />
</div>
</form>
在第一个select中,您可以调用一个具有select id的函数来过滤第二个select的数据,如下所示: 在第一个选择中,您可以这样做,用第一个id填充第二个:
$( "#id_firstSelect" ).change(function()
{
id_firstSelect = $("#id_firstSelect").val();
loadSecondSelect(id_firstSelect);
}
并调用函数来加载第二个select
function loadSecondSelect(first_id)
{
$("#id_secondSelect").ready(function(e)
{
$.get(
route.php, //Filter your select
params, // In this case your id
function(result)
{
$("#id_secondSelect").empty();
$("#id_secondSelect").append('<option value="0">-- Select --</option>');
if(result.response['id_second'].length) // this receive your data
{
for(var i=0, len=result.response['id_2'].length; i<len; i++)
{
$("#id_secondSelect").append('<option value="' + result.response['id_2'][i] + '">' + result.response['name_2'][i]+'</option>');
}
}
},
"json");
});
}
您似乎没有任何代码来处理ajax请求。是的,不知道如何处理。我的代码中有ajax本身,但我不知道如何进一步处理它。你需要做一些研究和尝试。当您遇到特定问题、遇到特定错误等时,这更像是一个地方。@PatrickQ:您应该查看我关于此问题的浏览器历史记录。。我想不出来。几乎每个示例都会重定向到另一个php文件,而我似乎不知道如何通过停留在页面上来处理它。尽管如此,jquery/javascript并不是我的强项。完全没有如果你能给我一个提示或者朝正确的方向推?基本上,我想知道如何在php代码的第二个选择框中获取ajax发送的值。。不过,请忽略其中的数据库连接内容。你的代码似乎不正确?当我将其粘贴到文件中时,它会给出错误。我做错什么了吗?再检查一遍,你就可以适应你的需要了,我已经用我现在的代码编辑了我的帖子。仍然不起作用,它没有将任何内容放入第二个选择框。。可能做错了什么,但我不知道是什么