我有一个窗体,其中我动态添加上传文件的功能与附加功能,但我也希望能够删除未使用的字段。这里是html标记
<span class="inputname">Project Images: <a href="#" class="add_project_file"><img src="images/add_small.gif" border="0"></a> </span> <span class="project_images"> <input name="upload_project_images[]" type="file" /><br/> </span>
现在如果他们点击“添加”gif一个新的行添加与此jquery
$('a.add_project_file').click(function() { $(".project_images").append('<input name="upload_project_images[]" type="file" class="new_project_image" /> <a href="#" class="remove_project_file" border="2"><img src="images/delete.gif"></a><br/>'); return false; });
要删除输入框我试图添加类“remove_project_file”然后添加这个功能。
$('a.remove_project_file').click(function() { $('.project_images').remove(); return false; });
我认为应该有一个更容易的方法来做到这一点。也许我需要使用$(this)函数为删除。另一个可能的解决方案是扩展“添加项目文件”,以添加和删除字段。
任何你的JQuery向导有任何想法将是伟大的
解决方法
因为这是一个开放式的问题,我只是给你一个想法,我将如何去实现这样的自己。
<span class="inputname"> Project Images: <a href="#" class="add_project_file"> <img src="images/add_small.gif" border="0" /> </a> </span> <ul class="project_images"> <li><input name="upload_project_images[]" type="file" /></li> </ul>
在li元素中包含文件输入允许在单击时轻松删除我们的“删除”链接的父级。 jQuery这样做是接近你已经有:
// Add new input with associated 'remove' link when 'add' button is clicked. $('.add_project_file').click(function(e) { e.preventDefault(); $(".project_images").append( '<li>' + '<input name="upload_project_images[]" type="file" class="new_project_image" /> ' + '<a href="#" class="remove_project_file" border="2"><img src="images/delete.gif" /></a>' + '</li>'); }); // Remove parent of 'remove' link when link is clicked. $('.project_images').on('click','.remove_project_file',function(e) { e.preventDefault(); $(this).parent().remove(); });