Php Jquery只在第一次迭代中工作
所以我试图通过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()); }); });
<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());
});