关于溢出的第一个问题,如果有任何问题或者我错过了之前的答案,请提前原谅我。我对 jQuery 有点陌生,所以我的编码方式可能存在问题。我正在尝试构建一个动态表单,允许我根据用户需要添加文本输入字段。在我尝试使用克隆按钮添加更多字段之前,它运行良好。
我正在使用 jquery-ui 1.11.2 和 jquery 1.11.2
HTML 代码:
<style>.hiddenForm{display:none};</style>
<form>
<input id="numentries" class="numspinner" />
<div class="repeatedForm hiddenForm">
<input type="button" class="numbutton" value="Add Fields" />
<div class="repeatedInnerForm hiddenForm">
<input type="text" placeholder="Gimme information" />
<input type="text" placeholder="Gimme more information" />
</div>
</div>
</form>
Javascript
$(".numspinner").spinner({min:1});
$(".numspinner").on("spin",function(event, ui){
var oldvalue = $(this).val();
var newvalue = ui.value;
var diff = newvalue - oldvalue;
if(newvalue >= 1){
if(diff == 1){
var newForm = $(".repeatedForm").clone(true);
newForm.removeClass("repeatedForm");
newForm.removeClass("hiddenForm");
newForm.attr("id","innerForm"+newvalue);
newForm.appendTo("form");
}else if(diff == -1){
$("#innerForm"+oldvalue).remove();
}
}
});
$(".numbutton").button();
$(".numbutton").click(function(event){
var buttonclicked = $(this);
var newForm = $(".repeatedInnerForm").clone();
newForm.removeClass("repeatedInnerForm");
newForm.removeClass("hiddenForm");
newForm.insertAfter(buttonclicked);
});
JSFiddle
我希望它只为每次按下按钮显示一组文本字段,并将文本字段与被按下的按钮相关联。我认为这与按钮的初始克隆有关。对代码风格的任何意见或建设性的批评表示赞赏。