Jquery的问题

时间:2011-09-12 07:51:14

标签: jquery

我正在使用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/>&nbsp",{class:"selectdoctor"}).appendTo("#prescriptionform");       
        $("<input/>",{type:"text",class:"textinput"}).appendTo("#prescriptionform");
        $("<input/>",{type:"file",class:"imageinput"}).appendTo("#prescriptionform");


   }
});

我需要良好的格式,即空格并在字段之间输入。

http://jsfiddle.net/xDAmf/

2 个答案:

答案 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/>&nbsp",{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()添加其他标记,例如&nbsp;<br/>Demo here