Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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
Php Jquery只在第一次迭代中工作_Php_Javascript_Jquery_Web Applications - Fatal编程技术网

Php Jquery只在第一次迭代中工作

Php Jquery只在第一次迭代中工作,php,javascript,jquery,web-applications,Php,Javascript,Jquery,Web Applications,所以我试图通过jquery输出一个动态填充的下拉列表。问题是它只适用于一次迭代。剧本- <script> $(function() { $("#projects").change(function() { $("#tasks").load("getdata.php?choice=" + $("#projects").val()); }); });

所以我试图通过jquery输出一个动态填充的下拉列表。问题是它只适用于一次迭代。剧本-

<script> $(function() 
        {
            $("#projects").change(function() {   
            $("#tasks").load("getdata.php?choice=" + $("#projects").val());
            });       
        });           //getdata.php queries data and echoes <option>
                      //#projects -> <select> id and #tasks->options id
    </script>
我知道这与在那里介绍每个人有关,但我似乎无法让它发挥作用

这是正在循环的div-

foreach($days as $key=>$day)         //inside <select  id="projects">
{
    echo '<td align="center" width="65">
            <div>'.$day.'<br><input name="hours" type="text" size="2" placeholder="hours">
                <select id="tasks">
                    <option>Select a Project First</option>
                </select>
            </div>
          </td>';
}

对于将动态出现的元素,您需要使用.on

 $(document).on('change','#projects',function(){
   //code here
 });

从php文件返回将更改任务的内容

$(document).ready(function(){
    $('.#projects').change(function(){
        var getdata = 'getdata.php?choice='+$("#projects").val();
        alert(getdata);
        $('#tasks').load(getdata);
    });
})

动态显示后,需要刷新下拉列表


所以我在朋友的帮助下想出了这个办法。 首先,我犯了一个非常根本的错误-

由于字段被循环显示,所以将id更改为类更可行

在此之后,将任务更改为.tasks,然后jscript完成这项工作

否则,每种方法也可用于实现如下结果-

$(".tasks").each(function() 
{
      $(this).(load)("getdata.php?choice=" + $("#projects").val());
});

这将如何帮助任何人理解问题和解决方案。还记得几天前吗?@andyb抱歉。事实上,朋友打电话给我。所以在匆忙中,我还是试了一次迭代:\n这与$projects.changefunction本质上是一样的吗?我在做什么?试了这个,还是一次迭代。我不知道我哪里出错了:|嗨,在选择上更改后,您需要更改任务的值,是这样吗?更改后是否有任何错误?或者,您希望在加载对项目任务的更改后,准确地重新加载项目alsoyes。我得到了绝对没有错误,它的工作很好,但只是为onr迭代。如果你看到上面我有一个foreach循环显示输出。输出结果是finr,但是jquery只在第一次迭代中起作用。请编辑问题并添加所有相关的HTML。我希望看到任务和项目元素。
$(".tasks").each(function() 
{
      $(this).(load)("getdata.php?choice=" + $("#projects").val());
});