如何使用jquery重新排序表单字段
How to reorder form fields using jquery
我有一个PHP页面,它的表单是这样的:
<form class="form3">
<label class="form3"><input type="checkbox"> Item-1</label>
<label class="form3"><input type="checkbox"> Item-2</label>
<label class="form3"><input type="checkbox"> Item-3</label>
<label class="form3"><input type="checkbox"> Item-4</label>
<label class="form3"><input type="checkbox"> Item-5</label>
</form>
我有这样的javascript变量设置:
var checked = ["", "yes", "", "yes", ""];
现在,当页面加载时,我想检查检查值是否为"yes",然后我想把这些输入项放在列表的前面,剩下的放在后面,像这样:
<form class="form3">
<label class="form3"><input type="checkbox" checked="checked"> Item-2</label>
<label class="form3"><input type="checkbox" checked="checked"> Item-4</label>
<label class="form3"><input type="checkbox"> Item-1</label>
<label class="form3"><input type="checkbox"> Item-3</label>
<label class="form3"><input type="checkbox"> Item-5</label>
</form>
我认为,jQuery将是这样做的方式。这意味着,我将需要循环通过表单字段(我不确定如何),并在循环内检查相应的变量是否为空白或"是",如果是,打印该表单字段。然后再次执行相同的循环并打印对应变量为空白的所有字段。
希望逻辑正确。
我可以像这样循环遍历表单元素:
$.each($('.form3'),function(i,e){
if(checked[i] == "")
{
e.appendTo($('.form3'));
}
});
但很明显,appendTo行给了我错误:
Uncaught TypeError: Object #<HTMLLabelElement> has no method 'appendTo'
那么,现在我需要知道如何选择每一行并在循环时重新排序。
谢谢
试试这个:
$('.form3').each(function(i,e) {
if(checked[i] == "") {
$(this).find('input[type=checkbox]').attr('checked', true);
$(this).appendTo($('form'));
}
});
你想的方向是对的我是这样处理的:
$('.form3').each(function(){
var lbl = $(this);
var chk = lbl.find('input[type=checkbox]');
if(chk.attr('checked'))
{
lbl.prependTo($('#myForm'));
}
});
你可以在这里找到一个工作的例子:http://jsfiddle.net/saelfaer/LbMQG/1/
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- AJAX使用jQuery可排序(非表单)发布附加数据
- 在 Sails.js 中重新排序文件上传的表单参数
- 如何在单击 Ajax 可排序表的行时打开信息窗口
- 如何单击时从排序表标题中删除
- jquery 数据表排序 表标题中的单击事件不在列标题文本中
- Django Forms - 构建一个表单,显示来自几个不同模型的字段,但按外键排序
- 用javascript对象数组中的日期对事件进行排序,并与当前日期进行比较以显示在表单中
- 如何使rails表单上的项目可排序
- select2(js)表单元素的表单结果的简单排序
- jqGrid表单编辑选择排序
- 如何排序表升序和降序时,单击链接
- 按字母顺序排序php/html表单中的下拉列表值
- Symfony表单-对CollectionType元素进行重新排序
- 为什么在对表进行排序后单击事件处理程序不起作用?