我想更改输入框的名称。在代码中,我的名称从 myText0 开始,我希望克隆以 myText1、myText2、myText3、myText4... 的增量进行更改,具体取决于添加的框数量,以便每个输入框的名称都不同。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<?php
$num = 0;
echo '
<div class="input_fields_wrap">
<button class="add_field_button">Add More Fields</button>
<div><input type="text" name="'.${'myText'.$num.}.'"></div>
</div>
';
?>
<script type="text/javascript">
$(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
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
//${myText.$num}
// I don't know how to add this without php code to keep changing every added input box.
$(wrapper).append('<div><input type="text" name="myText"/><a href="#" class="remove_field">Remove</a></div>').clone(true); //add input box
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
</script>
最佳答案
我不知道为什么你要在 javascript 中的硬编码 html 上调用克隆。下面的代码会将 div 附加到 html 并在新元素上设置 name 属性
$('<div><input type="text"/><a href="#" class="remove_field">Remove</a></div>').appendTo(wrapper).children("input").prop("name", "myText" + x); //add input box
关于javascript - 如何更改使用 jquery 克隆的元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276038/