0

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

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

然后我添加了单击复制表单的按钮的功能,每行包含 1.select 'project' 2. 隐藏的 select 'task' 显示在项目选择上 3. 选择新任务选项时激活隐藏的文本框 4. 小时输入框整个星期。

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

所需的功能是每个用户都能够添加行并选择不同的项目任务组合来记录小时数。

这里的问题是,当我更改第一行项目时,所有添加的行也会受到影响,我无法将它们分开。我是动态更改网页中的内容的新手。请帮帮我。

整个事情的工作小提琴 - http://jsfiddle.net/PuWMK/1/

4

1 回答 1

1

你可以试试这个

$('.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');
});

演示。

于 2013-06-29T21:36:37.037 回答