如何将复选框表单字段从一个表单复制到另一个
How to copy checkbox form fields from 1 form to another?
我有一个用PHP构建的HTML表单,它基本上显示了一个记录列表,这个记录列表有一个表单,因为它在每个记录旁边都有一个复选框,允许我对一组记录进行批量操作。
我的问题是我最近在每个记录下的评论部分添加了评论部分,该评论部分允许快速评论帖子,因此它有自己的表单用于每个记录评论部分,这当然打破了我的复选框表单作为评论表单关闭</form>
在记录列表的底部是一个下拉表单字段,其中列出了我可以对选中的复选框记录执行的操作。这部分不再工作了因为它不能再访问复选框记录列表了因为它现在是另一个<FORM>
所以我的想法在一个快速的解决方案,使用JavaScript,如果我能以某种方式复制复选框表单字段数组到我的新表单在该页面的底部做大量记录更新。
每条记录旁边的复选框字段现在看起来像这样…
<input id="cb-select-1" type="checkbox" name="record_update[]" value="' . $dbresult->id . '">
所以使用JavaScript是有可能复制record_update[]
的内容到另一个新的表单字段在页面上的不同形式?
下面是一个更好的例子,以非常基本的形式来展示我需要完成什么....
<form name="Form-A" id="form-a">
<input id="cb-select-1" type="checkbox" name="record_update[]" value="355">
<input id="cb-select-1" type="checkbox" name="record_update[]" value="455">
<input id="cb-select-1" type="checkbox" name="record_update[]" value="555">
...lots more Database records with a checkbox to select the item for a mass record change
</form>
<form name="Form-B" id="form-b">
<!-- This hidden field should have an array of all the ID's from form-a that have CHECKED checkboxes ONLY -->
<input type="hidden" name="record_update_ids">
<input type="submit" name="" id="doaction2" class="button" value="Update Records">
</form>
更新了大量选择和取消选择页面上的复选框的代码…
<script type="text/javascript">
function checkAll(bx) {
var cbs = document.getElementsByTagName("input");
for(var i=0; i < cbs.length; i++) {
if(cbs[i].type == "checkbox") {
cbs[i].checked = bx.checked;
}
}
}
</script>
当您选中复选框时,向第二个表单添加一个隐藏输入:
$("input[name='record_update[]']").click(function(){
var chkId = $(this).attr('id');
var chkVal = $(this).val();
if ($(this).is(':checked'))
$('<input>').attr({
type: 'hidden',
id: 'input_'+chkId,
name: 'input_'+chkId,
value: chkVal
}).appendTo('#secondForm');
else
//if isn't checked removes it
$('#input_'+chkId).remove();
});
当你点击'Check All'按钮时,将所有添加到文本区域:
$("#chkAl").click(function(){
$("input[name='record_update[]']").click(function(){
//skips the already checked
if (!($(this).is(':checked')))
$(this).click();
});
});
您可以使用http://api.jquery.com/clone/
http://jsfiddle.net/MA3x4/1/在文档准备中执行以下操作
$('#form-a').find('input:checkbox[name="record_update[]"]').each(function () {
$(this).clone().appendTo('#form-b');
});
相关文章:
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- jquery mobile上多个页面上的一个表单
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 循环遍历包含另一个表单的表单
- jquery从2个json字符串构建一个复选框表单
- 为网站表单创建一个专业的日历
- 如何在javascript转换编码中将一个动态值从一个表单添加到另一个页面
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 在表单中创建一个黑名单过滤器以避免某些单词
- 从一个iframe到另一个ifame的过帐表单-IE
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- 一个具有两个图像按钮的表单在只能按下一个按钮的情况下发送两个按钮值
- 在另一个可观察量完成后触发第二个表单提交单击
- 两个表单 - 一个提交按钮
- 多表单一个ajax函数