Yan*_*aya 5 javascript jquery dynamically-generated
我正在使用 javascript 动态创建输入字段,我的表单上允许有 10 个输入字段。为了确保将这些字段提交到正确的位置,我需要做的是为它们提供正确的 ID。我的问题是我该怎么做?
$(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--;
})
});
Run Code Online (Sandbox Code Playgroud)
每个输入框都有一个像 "data_item_1"、"data_item_2"、"data_item_3" 等的 ID 会很好。不过我不确定如何做到这一点。
您可以使用全局变量x来生成唯一的 ID。您可以使用x ,但当您递减时x,您可能需要使用单独的变量。
$(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
Run Code Online (Sandbox Code Playgroud)
你的代码会像
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
}
});
Run Code Online (Sandbox Code Playgroud)