【发布时间】:2013-07-30 18:32:36
【问题描述】:
我正在尝试添加带有数组名称的动态字段,我已经这样做了
<div class="extra_subject"></div>
<button class="add_sub btn">Add</button>
<button class="rem_sub btn">Remove</button>
在 JS 中我做到了
var subject_div = $('<div class="sub_add_extra">'
+'<div class="control-group">'
+'<label for="sub_form" class="control-label">Subject</label>'
+'<div class="controls">'
+'<select name="add_subject[]">'
+'<option value="">Please Select</option>'
<?php foreach($sub as $row){ ?>
+'<option value="<?php echo $row->id; ?>" ><?php echo $row->subject_name; ?></option>'
<?php } ?>
+'</select>'
+'</div>'
+'</div>'
+'</div>');
$('.add_sub').click(function(e){
e.preventDefault();
$('.extra_subject').append(subject_div);
});
$('.rem_sub').click(function(e){
e.preventDefault();
$('.sub_add_extra').last().remove();
});
它第一次附加内容,然后当我尝试附加其覆盖现有 div 类 .sub_add_extra 并在我单击删除按钮时正确删除。
【问题讨论】:
-
追加
subject_div作为字符串,而不是 jQuery 对象,see here。我实际上不知道为什么附加对象不起作用,希望有人可以提供解释 -
如果将 $('.extra_subject').append(subject_div) 更改为 $(subject_div).appendTo('.extra_subject') 会发生什么?
-
@nocturns2 也一样