Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript创建动态输入id_Javascript_Jquery_Html - Fatal编程技术网

使用Javascript创建动态输入id

使用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()在表单中附加新的标记,这会添加到以前附

我想使用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()
在表单中附加新的
标记,这会添加到以前附加的
中吗?或者我需要附加一个
,然后是两个,然后是三个,等等

另外,如何使用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);

        });
}