使用angularjs指令创建和删除输入元素jquery或javascript
我想知道是否可以创建和删除类型文件的输入元素,其中包含angularjs
指令。例如,使用angularjs指令创建和删除输入元素jquery或javascript
<input type="file" name="attachment0" id="attachment0" custom-on-change="uploadfile" ng-show="attachFile" multiple/>
这里是定制电平变化为i已经定义当加载一个输入文件来触发uploadfile()
功能的指令。我知道这可以使用angularjs
模板完成,但我想知道这是否可以使用jquery
或javascript
完成。
是的,你可以试试这个。
function addField(){
$('form input:file').last().after($('<input type="file" name="files[]" class="file" /><br />'));
}
由于我不能发表评论,我会写在这里:d
使用jQuery你可以做这样的事情
var input = jQuery("<input>", {
'type': 'file',
'name': 'attachment0',
'id': 'attachment0',
'multiple': true
//other attributes in here
}).on('click',uploadfile);
现在你可以添加你随时随地变在页面jQuery(your_element).append(input)
。 在uploadfile函数中这个是你的输入变量。
你好teoflavian,uploadfile是一个使用scope变量定义的函数,我怀疑这会调用uploadfile()函数。 –
在这种情况下,您可以添加一个回调函数: jQuery(....)。on('click',function(event){$ scope.uploadfile()}) – theodorhanu
你能解释一下这是如何工作的吗? –
我还想添加angularjs指令,如果我使用这种方法添加,它不会实现angularjs特性 –
你可以有一个容器div,它将包含新的文件输入字段和一个添加新输入的按钮:$( '#addFile')。click(function(){//当单击添加文件按钮时,将 //新的 //添加到filesContainer div $('#filesContainer')。append( $('').attr('type','file')。attr('name','someName') ); }); –