作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在与 datatables 作斗争以及如何使用 fnGetNodes
来在提交时将数据正确推回到表单中。
我的 jquery 工作正常。我可以看到所选值,如 documentation 中所述。 。我的问题是如何获取 sData
并将其推回到 POST 中的服务器??
我知道这一定很简单,但我显然太专注于树木而忽视了森林。.如果有任何帮助,我将不胜感激!!
<script style="text/javascript">
$(document).ready(function() {
$('#form').submit( function() {
var sData = $('input', oTable.fnGetNodes()).serialize();
alert( "The following data would have been submitted to the server: \n\n"+sData );
return false;
});
oTable = $('#data_table').dataTable();
});
</script>
我的 HTML 表单如下所示(为了清晰起见,已缩短)
<table id="data_table">
<thead>
<tr>
<th>Select</th>
<th>Question</th>
</tr>
</thead>
<tr id=0><td><label for="id_questions_0"><input type="checkbox" name="questions" value="103" id="id_questions_0" /></label></td><td>D1. Example of a multiple choice question</td></tr>
<tr id=1><td><label for="id_questions_1"><input type="checkbox" name="questions" value="104" id="id_questions_1" /></label></td><td>E1. Example of a multiple choice question</td></tr>
<tr id=2><td><label for="id_questions_2"><input type="checkbox" name="questions" value="105" id="id_questions_2" /></label></td><td>G. Example of a multiple choice question</td></tr>
<tr id=3><td><label for="id_questions_3"><input type="checkbox" name="questions" value="106" id="id_questions_3" /></label></td><td>H. Example of a multiple choice question</td></tr>
编辑
警报向我展示了这一点。 问题=103&问题=104&问题=105&问题=106&问题=100&问题=101&问题=102
并且 POST(使用开发人员工具(正在向我展示这一点。
csrfmiddlewaretoken:a2c3ed6e1bfee9fce0b7412553aa2080
name:Phase-1 Pre-Drywall
priority:1
description:Pre-Drywall inspection items
use_for_confirmed_rating:on
use_for_sampling:on
data_table_length:10
questions:103
questions:104
questions:105
questions:106
submit:Submit
所以我需要使用 jquery 将前者转换为后者有人可以帮助我吗。
谢谢
最佳答案
结果(如预期)答案非常简单。
var oTable = $('#data_table').dataTable();
// This will collect all of the nodes which were checked and make sure they get
// pushed back.
$('#form').submit(function () {
$("input[name='question']").remove(); //Remove the old values
$("input:checked", oTable.fnGetNodes()).each(function(){
$('<input type="checkbox" name="questions" ' + 'value="' +
$(this).val() + '" type="hidden" checked="checked" />')
.css("display", "none")
.appendTo('#form');
});
});
关于jquery - 数据表 - fnGetNodes() 如何将结果推送回服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492791/
我一直在与 datatables 作斗争以及如何使用 fnGetNodes 来在提交时将数据正确推回到表单中。 我的 jquery 工作正常。我可以看到所选值,如 documentation 中所述。
我想知道这两个调用有什么区别? fnGetNodes() 返回所有行,fnGetData() 也是如此。那有什么区别呢? 最佳答案 fnGetNodes() 返回已生成的 tr 元素列表。如果您使用
我是一名优秀的程序员,十分优秀!