我在表单中有一组fieldset元素。我需要让它们排序。大多数插件都是基于排序列表的想法 - 所以我试图改变一组
<fieldset>
<input type="text" value="1" id="item_0_sort_1" name="item[0][sort]">
</fieldset>
<fieldset>
<input type="text" value="1" id="item_0_sort_2" name="item[0][sort]">
</fieldset>
<fieldset>
<input type="text" value="1" id="item_0_sort_3" name="item[0][sort]">
</fieldset>
到
<ul>
<li>
<fieldset>
<input type = "text" value="1" id="item_0_sort_1" name="item[0][sort]">
</fieldset>
</li>
<li>
<fieldset>
<input type = "text" value="2" id="item_0_sort_2" name="item[0][sort]">
</fieldset>
</li>
<li>
<fieldset>
<input type = "text" value="3" id="item_0_sort_3" name="item[0][sort]">
</fieldset>
</li>
</ul>
(不,我不能改变HTML :-()
我可以将字段集包装没问题,
$('form').children('fieldset').wrap('<li>');
但似乎无法看到如何将fieldset元素移动到<ul>
?现在我正计划使用jquery.dragsort来移动项目,并让jQuery对input.val()
进行相应的重新编号 - 对回调的任何建议都会非常感激。
还是我正确的方式?如果有办法直接对字段集进行排序,我怀疑这会更好。
答案 0 :(得分:2)
使用wrapAll
:
$('form li').wrapAll("<ul/>");
答案 1 :(得分:1)
我准备了DEMO。
这是标记:
<form>
<fieldset>
<input type="text" value="1" id="item_0_sort_1" name="item[0][sort]">
</fieldset>
<fieldset>
<input type="text" value="1" id="item_0_sort_2" name="item[0][sort]">
</fieldset>
<fieldset>
<input type="text" value="1" id="item_0_sort_3" name="item[0][sort]">
</fieldset>
</form>
和jQuery:
$('form >*').wrap('<li>');
$('form li').wrapAll('<ul>');