Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript 使用jQuery动态添加行_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery动态添加行

Javascript 使用jQuery动态添加行,javascript,jquery,Javascript,Jquery,我有一个表单,其中包含一个select字段id=projects,它在被更改时显示一个隐藏的select字段“task”,通过查询数据库动态填充所选项目的任务。然后,用户可以输入在项目id、任务id组合上更新的小时数。以下代码显示更改“项目”时选择的“任务” $('.tasks').hide(); $('#projects').change(function(){ $('.tasks').show(); $('.tasks').append("<option>1<

我有一个表单,其中包含一个select字段id=projects,它在被更改时显示一个隐藏的select字段“task”,通过查询数据库动态填充所选项目的任务。然后,用户可以输入在项目id、任务id组合上更新的小时数。以下代码显示更改“项目”时选择的“任务”

$('.tasks').hide();
$('#projects').change(function(){
    $('.tasks').show();
    $('.tasks').append("<option>1</option><option>New Task</option>");
});
所需的功能是,每个用户都能够添加行,并选择不同的项目任务组合来记录小时数

这里的问题是,当我更改第一行项目时,所有添加的行也会受到影响,我无法将它们分离出来。我对动态更改网页中的内容还不熟悉。请帮帮我

你可以试试这个

$('.tasks').hide();
$('#dynform').on('change' , '#projects', function(){
    $(this).next('.tasks').show()
    .append("<option>1</option><option>New Task</option>")
});

$('#add').click(function () {
    $('#row').clone().appendTo('#dynform');
});

$('.tasks').change(function(){
    $('#new').css('visibility','visible');
});

不清楚您的问题是什么?基本上每个行元素都需要单独处理,就像它们有自己的Id一样,我不知道如何实现这一点。如果您在fiddle中添加几行并选择一个项目,您将看到我所说的内容如何在提交时通过$\u POST访问这些内容。我是否需要将它们命名为project[]和task[],如果需要,对于已经是小时[]的小时,我该怎么做,我是否将其命名为小时[]?您的输入没有名称,您必须给出一个名称,在这种情况下,您可以对行中的每个第一个文本框使用类似于inputOne[]的名称,这样,您就可以在服务器上以$InputNearray=$\u post的形式从post访问它们['inputOne']并可以执行foreach循环。
$('.tasks').hide();
$('#dynform').on('change' , '#projects', function(){
    $(this).next('.tasks').show()
    .append("<option>1</option><option>New Task</option>")
});

$('#add').click(function () {
    $('#row').clone().appendTo('#dynform');
});

$('.tasks').change(function(){
    $('#new').css('visibility','visible');
});