使用Javascript创建动态输入id
我想使用javascript创建带有动态使用Javascript创建动态输入id,javascript,jquery,html,Javascript,Jquery,Html,我想使用javascript创建带有动态id(name属性将相同)的标记,具体取决于它们的显示顺序 我有第一个纯html格式的标记和一个div,当单击时,该div应附加一个新的,并带有递增的id: <input type="text" name="1" id="1" /> <div class="add_new" onClick="add_new_input()">+</div> 如果我使用jquery的append()在表单中附加新的标记,这会添加到以前附
id
(name
属性将相同)的
标记,具体取决于它们的显示顺序
我有第一个纯html格式的
标记和一个div,当单击时,该div应附加一个新的
,并带有递增的id:
<input type="text" name="1" id="1" />
<div class="add_new" onClick="add_new_input()">+</div>
如果我使用jquery的append()
在表单中附加新的
标记,这会添加到以前附加的
中吗?或者我需要附加一个
,然后是两个,然后是三个,等等
另外,如何使用javascript计算当前显示的
数量?试试看
function add_new_input() {
var last_id = $('input[type="text"]:last').attr('id');
last_id++;
$('input[type="text"]:last').append('<input type="text" name="'+last_id+' id="'+last_id+'">');
}
函数添加新输入(){
var last_id=$('input[type=“text”]:last').attr('id');
last_id++;
$('input[type=“text”]:last')。追加('试试这个
function add_new_input(){
var lastControlId = $('input:text:last').attr('id');
if(!lastControlId){
lastControlId = parseInt(lastControlId,10) + 1;
$('#containerDiv').append('<input type="text" name="'+ lastControlId +' id="'+ lastControlId +'">');
}
}
函数添加新输入(){
var lastControlId=$('input:text:last').attr('id');
如果(!lastControlId){
lastControlId=parseInt(lastControlId,10)+1;
$(“#containerDiv”).append(“我使用了适合您需求的脚本
Html:
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>
<div id="p_scents">
<p>
<label for="p_scnts">
<input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" />
</label>
</p>
</div>
Javascript:-
$(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;
});
});
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$('#addScnt').live('click',function(){
$('p>')。附录(scntDiv);
i++;
返回false;
});
$('#remScnt').live('click',函数(){
如果(i>2){
$(this.parents('p').remove();
我--;
}
返回false;
});
});
这将改变id为“item-[索引编号]”的所有输入
但您应该在选择器中加入.class标识,这样它就不会适用于所有选择器。
jQuery('#select')。更改(函数(){
var val=jQuery(this.val();
var innerhtml='';
对于(变量i=0;i”;
}
jQuery('#textbox_div').html(innerhtml);
});
使用普通javascript
<script language="javascript">
var x=1;
function add_new_input(){
x++;
var input=document.createElement('input');
input.setAttribute("id",x);
input.setAttribute("type","text");
document.getElementById("holder").appendChild(input);
}
</script>
var x=1;
函数add_new_input(){
x++;
var input=document.createElement('input');
输入.setAttribute(“id”,x);
输入.setAttribute(“类型”、“文本”);
document.getElementById(“持有者”).appendChild(输入);
}
下面是html
<div id="holder">
<input type="text" name="1" id="1" />
</div>
<div class="add_new" onClick="add_new_input()" >+</div>
+
var指数=1;
函数add_fields(){
索引++;
var objTo=document.getElementById('room\u fileds')
var divtest=document.createElement(“tr”);
divtest.innerHTML=(“”+index+“remove”);
目标追加儿童(divtest);
$(“.slno”)。每个(函数(索引,元素){
$(元素).text(索引+1);
});
}
函数myfn(){
$(“.remove_按钮”).parents('tr').first().remove();
$(“.slno”)。每个(函数(索引,元素){
$(元素).text(索引+1);
});
}
您可以使用$(':input:text').size()
来计算文本输入控件OK,这样javascript就可以记住每次单击后最后追加的
?很好的解决方案!这不正是我想要的,但可以在其他地方使用!添加输入
jQuery('#select').change(function () {
var val = jQuery(this).val();
var innerhtml = '';
for (var i = 0; i < val; i++) {
innerhtml += "<input type='text' id='" + (i + 1) + "' name='" + (i + 1) + "'size=50> </br>";
}
jQuery('#textbox_div').html(innerhtml);
});
<script language="javascript">
var x=1;
function add_new_input(){
x++;
var input=document.createElement('input');
input.setAttribute("id",x);
input.setAttribute("type","text");
document.getElementById("holder").appendChild(input);
}
</script>
<div id="holder">
<input type="text" name="1" id="1" />
</div>
<div class="add_new" onClick="add_new_input()" >+</div>
var index = 1;
function add_fields() {
index++;
var objTo = document.getElementById('room_fileds')
var divtest = document.createElement("tr");
divtest.innerHTML = ("<tr><td class='slno'>" + index + "</td><td><input type='text'></td><td><button class='remove_button' onclick='myfn()'>remove</button></td></tr>");
objTo.appendChild(divtest);
$(".slno").each(function(index, element) {
$(element).text(index + 1);
});
}
function myfn() {
$(".remove_button").parents('tr').first().remove();
$(".slno").each(function(index, element) {
$(element).text(index + 1);
});
}