如何dynamic创build<input type =“text”/>
我想dynamic地在我的web表单中创build一个inputtypes的文本。 更具体地说,我有一个文本字段,用户input所需文本字段的数量; 我想要以相同的formsdynamic生成文本字段。
我怎么做?
使用JavaScript:
var input = document.createElement("input"); input.type = "text"; input.className = "css-class-name"; // set the CSS class container.appendChild(input); // put it into the DOM
使用Javascript,你只需要document.createElement
和setAttribute
。
var input = document.createElement("input"); input.setAttribute('type', 'text');
然后,您可以使用appendChild
将创build的元素追加到所需的父元素。
var parent = document.getElementById("parentDiv"); parent.appendChild(input);
也许方法document.createElement();
是你在找什么。
您可以使用createElement()
方法来创build该文本框
你可以根据input的文本字段的数目在循环中做这样的事情。
$('<input/>').attr({type:'text',name:'text'+i}).appendTo('#myform');
但为了获得更好的性能,我会先创build所有的html,然后将其注入到DOM中一次。
var count = 20; var html = []; while(count--) { html.push("<input type='text' name='name", count, "'>"); } $('#myform').append(html.join(''));
编辑这个例子使用jQuery来附加html,但是你可以很容易地修改它以使用innerHTML。
我想下面的链接将帮助你。 如果您想要dynamic生成字段,并且希望同时删除它们,则可以从这里获得帮助。 我有同样的问题,所以我得到了答案
$(function() { var scntDiv = $('#p_scents'); var i = $('#p_scents p').size() + 1; $('#addScnt').live('click', function() { $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv); i++; return false; }); $('#remScnt').live('click', function() { if( i > 2 ) { $(this).parents('p').remove(); i--; } return false; }); });
看到这个答案为非JQuery解决scheme。 刚帮我出去
dynamic添加input元素以形成