我正在使用jquery来显示HTML的字段,如select,text,image。但我的问题是因为我涉及它使用for循环,如果我选择5比使用下拉选择3而不是我希望休息两个字段应该被删除。第二个我的图像字段显示为文本字段。
<select id="prescriptionnum" >
<option value="">Select Number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
$('#prescriptionnum').change(function() {
var childid = $("#childprescriptionselect").val();
var prescriptionnum = $("#prescriptionnum").val();
$('#prescription').show("slow");
for (var i = 0; i < prescriptionnum; ++i) {
$("<select/> ",{class:"selectdoctor"}).appendTo("#prescriptionform");
$("<input/>",{type:"text",class:"textinput"}).appendTo("#prescriptionform");
$("<input/>",{type:"file",class:"imageinput"}).appendTo("#prescriptionform");
}
});
我需要良好的格式,即空格并在字段之间输入。
答案 0 :(得分:2)
你可以在用html控件
填写之前清空处方表$('#prescriptionnum').change(function() {
var childid = $("#childprescriptionselect").val();
var prescriptionnum = $("#prescriptionnum").val();
$('#prescription').show("slow");
//make the form empty before putting in contols
$("#prescriptionform").empty();
for (var i = 0; i < prescriptionnum; ++i) {
$("<select/> ",{class:"selectdoctor"}).appendTo("#prescriptionform");
$("<input/>",{type:"text",class:"textinput"}).appendTo("#prescriptionform");
$("<input/>",{type:"file",class:"imageinput"}).appendTo("#prescriptionform");
}
});
答案 1 :(得分:1)
当字段数发生变化时,请通过以下方式删除所有项目:
$("#prescriptionform").children().remove();
然后将它们添加回来。您可以使用$.before()
和$.after()
添加其他标记,例如
或<br/>
。 Demo here