2011-07-06 242 views
2

我必须创建一个动态表单。结构是: 每个Cap。可以有很多段落,并且表格可以有很多Cap。向动态jQuery表单添加元素

这里有一个例子:http://jsfiddle.net/michelejs/UX5bz/

我想,如果我添加了一个段落就会在正确的字段集添加。我怎样才能做到这一点?

+0

什么是正确的字段集?每当您根据代码添加段落时,您都要添加fieldset元素... – Fosco

+0

我会为每个帽子和他的段落创建一个字段集。段落将被添加到fieldset cap上。 – michele

回答

0

这里是你的代码的工作版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 
<script> 
    $(document).ready(function() { 
     var capitoli = 1; 

     $('#addCap').live("click", function() { 
      capitoli = capitoli + 1; 
      var htmlcode = '<fieldset id="capitolo1">' + '<legend>Cap' + capitoli + '</legend>' + '<input type="text" value=""/>' + '<input type="button" class="addParag" value="Add Paragraph"></fieldset>'; 

      $("#frm").append(htmlcode); 

     }); 

     $('.addParag').live("click", function() { 
      var htmlcode = '<fieldset id="parag">' + '<legend>Paragraph</legend>' + '<input type="text" value="name paragraph"/>' + '<input type="button" id="removeParagrafo" value="Remove Paragraph"></fieldset>'; 
      $(this).parents("fieldset").append(htmlcode); 

     }); 
    }); 
</script> 
</head> 
<body> 

<form id="frm"> 
    <div> 
     <input type="submit" name="g" value="Submit" id="g" /> 
     <input type="button" id="addCap" value="Add a Cap"> 
    </div> 
    <fieldset id="cap1"> 
     <legend>Cap1</legend> 
     <input type="text" value="name cap1"/> 
     <input type="button" class="addParag" value="Add a Paragraph"> 
    </fieldset> 

</form> 
</body> 
</html>