Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
使用ajax将数据从动态选择框传递到php,无需提交或重新加载_Php_Jquery_Ajax_Forms - Fatal编程技术网

使用ajax将数据从动态选择框传递到php,无需提交或重新加载

使用ajax将数据从动态选择框传递到php,无需提交或重新加载,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我想创建两个选择框:一个从数据库获取选项,另一个根据第一个选择框的值获取选项 我的当前代码如下:我从第一个框中获得了值,其中包含一个警报,但不知道如何在第二个框的sql查询中获得该值。我的文档名是tutorial.php,除了include/config.php中的数据库函数之外,我没有使用任何其他文件 我已经学习了几十个教程和堆栈溢出答案,但我无法让它工作。如何在同一页面上获取php代码的select值 jquery: <script src="//ajax.googleapis

我想创建两个选择框:一个从数据库获取选项,另一个根据第一个选择框的值获取选项

我的当前代码如下:我从第一个框中获得了值,其中包含一个警报,但不知道如何在第二个框的sql查询中获得该值。我的文档名是tutorial.php,除了include/config.php中的数据库函数之外,我没有使用任何其他文件

我已经学习了几十个教程和堆栈溢出答案,但我无法让它工作。如何在同一页面上获取php代码的select值

jquery:

    <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发送的值。。不过,请忽略其中的数据库连接内容。你的代码似乎不正确?当我将其粘贴到文件中时,它会给出错误。我做错什么了吗?再检查一遍,你就可以适应你的需要了,我已经用我现在的代码编辑了我的帖子。仍然不起作用,它没有将任何内容放入第二个选择框。。可能做错了什么,但我不知道是什么