2010-07-20 65 views
3

快速问题...通过POST提交UL的最佳方式是什么?

我有一个输入框,一旦输入密钥,将值添加到无序列表中。我如何将这个无序列表传递给jquery post?我使用form.serialize,所以我不必定义每个变量的发布。

例如,假设我输入了3个水果,并且它们被动态添加到表单内的无序列表中。

水果:[请在此输入文本]

  • 苹果
  • 香蕉

我想创建一个隐藏的文本字段,将与填充的每次用户按下输入时新的值。

还有其他想法吗?

回答

15
<ul> 
    <li>Apple<input type='hidden' name='fruits[]' value='Apple'/></li> 
    <li>Pear<input type='hidden' name='fruits[]' value='Pear'/></li> 
    <li>Banana<input type='hidden' name='fruits[]' value='Banana'/></li> 
</ul> 

交房时,你会得到$_POST数组名为fruits这些值与数组名称添加隐藏的输入。

+0

正是我一直在寻找! – orfdorf 2015-07-29 05:21:06

1

当你动态添加的东西到你的UL,你可以像

<input type='hidden' name='ul[1]' value='banana'/> 
<input type='hidden' name='ul[2]' value='apple'/> 
<input type='hidden' name='ul[3]' value='pear'/> 
2

类似的东西(上行含量的动态施工):

<html> 
<head> 
    <title>S.O. 3287336</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#add').click(function() { 
      var li = $('<li></li>').text($('#edit').val()); 
      $('#ul').append(li); 
     }); 

     $('#addForm').submit(function() { 
      var ul = ""; 

      $('#ul li').each(function() { 
       ul += $(this).html() + ";" 
      }); 

      alert("About to submit: " + ul); 
      return false; // don't submit 
     }); 
    }); 
    </script> 
</head> 
<body> 
<ul id="ul"> 
</ul> 
<form id="addForm"> 
    <input type="text" name="edit" id="edit" value=""/> 
    <input type="button" id="add" value="Add"/> 
    <input type="submit" id="submit-btn" value="End"/> 
</form> 
</body> 
</html> 
相关问题