gpt4 book ai didi

jquery - 数据表 - fnGetNodes() 如何将结果推送回服务器

转载 作者:行者123 更新时间:2023-12-01 03:49:08 25 4
gpt4 key购买 nike

我一直在与 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com