admin管理员组文章数量:1325713
I am using javascript to create input fields dynamically with a limit of 10 allowed on my form. What I need to do to ensure these fields are submitted to the correct place is give them the right ID. My question is how do I do this?
$(document).ready(function () {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
var num = new Number;
var newNum = num + 1;
/*if (x = max_fields) {
alert("You can't add anymore fields.")
}
*/
$(add_button).click(function (e) { //on add input button click
e.preventDefault();
if (x < max_fields) { //max input box allowed
x++; //text box increment
$(wrapper).append('<div class="clonedInput"><input id="" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
}
});
$(wrapper).on("click", ".remove_field", function (e) { //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
It would be nice for each input box to have an ID like "data_item_1" , "data_item_2", "data_item_3" etc etc. I'm not sure on how to do this though.
I am using javascript to create input fields dynamically with a limit of 10 allowed on my form. What I need to do to ensure these fields are submitted to the correct place is give them the right ID. My question is how do I do this?
$(document).ready(function () {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
var num = new Number;
var newNum = num + 1;
/*if (x = max_fields) {
alert("You can't add anymore fields.")
}
*/
$(add_button).click(function (e) { //on add input button click
e.preventDefault();
if (x < max_fields) { //max input box allowed
x++; //text box increment
$(wrapper).append('<div class="clonedInput"><input id="" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
}
});
$(wrapper).on("click", ".remove_field", function (e) { //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
It would be nice for each input box to have an ID like "data_item_1" , "data_item_2", "data_item_3" etc etc. I'm not sure on how to do this though.
Share Improve this question asked Mar 17, 2016 at 10:58 YanayayaYanayaya 2,1846 gold badges40 silver badges84 bronze badges2 Answers
Reset to default 5You can use global variable like x
to generate unique ids. You could have used x
but as you are decrementing x
so you may need to use separate variable.
$(wrapper).append('<div class="clonedInput"><input id="data_item_'+itemIndex+'" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
You code would be like
var itemIndex = 2;
$(add_button).click(function (e) { //on add input button click
e.preventDefault();
if (x < max_fields) { //max input box allowed
x++; //text box increment
$(wrapper).append('<div class="clonedInput"><input id="data_item_'+ itemIndex++ +'" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
}
});
Try this line inside the click event
$(wrapper).append('<div class="clonedInput"><input id="data_item_'+x+'" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>');
本文标签: jqueryHow do I add unique IDs to dynamically created input fields in JavascriptStack Overflow
版权声明:本文标题:jquery - How do I add unique IDs to dynamically created input fields in Javascript? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742193081a2430574.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论