【问题标题】:spring mvc ajax @ModelAttributespring mvc ajax @ModelAttribute
【发布时间】:2015-08-27 18:47:23
【问题描述】:

在我的 Spring MVC 应用程序中,我有一个数据表,我正在使用 ajax 和 json 在jquery.dataTables.js 的帮助下通过分页排序等填充数据。像这样

$(document).ready(function() {
        $("#accordion").hide();

        $("#productList").dataTable({
            "bProcessing" : true,
            "iDisplayLength" : 10,
            "iDisplayStart" : 0,
             -------------
             --------------

            "sAjaxSource" :  ....'/product/productList',
            "aoColumns" : [ {
                "mData" : "year"
            }, {
                "mData" : "catg"
            }, {
                "mData" : "name"

我在桌子上显示 4 列的位置。 现在点击每一行我想显示所选记录的详细信息,大约 50 个字段。

我可以通过jquery实现,数据表加载的时间我可以得到所有属性值到json,并且可以在每条记录的点击上设置50个字段的每个id。

var table = $('#productList').DataTable();

$('#productList tbody').on('click', 'tr', function() {

    $("#accordion").show();

    var data = table.row(this).data();

    $('#type').val(data.type);
    $('#expdate').val(data.expDate);
    $('#place').val(data.place);
    $('#status').val(data.status);

但我想在单击记录时使用@ModelAttributemodel 它会在ModelAttribute 上设置一个ajax 调用。因此记录部分的详细信息将在表单内,并且每个字段都有弹簧表单路径。

这可能吗?请帮忙。

【问题讨论】:

    标签: javascript jquery ajax json spring


    【解决方案1】:

    你可以修改this的方法,因为这里他们使用隐藏数据。

    你只需要替换 row.child( format(row.data()) ).show(); 类似这样的东西:row.child( format(fetchDataFromServer(row.data().id)) ).show();

    DataTable 改变了他们的 API,所以它必须根据旧的 API 文档来改变,或者你可以切换到使用新版本的库。

    UPD: 找到了旧版 API 示例的 link。这里你需要修改fnFormatDetails函数调用并从服务器传递数据。

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 2014-09-20
      • 1970-01-01
      • 2017-11-27
      • 2018-06-30
      • 2012-01-01
      • 1970-01-01
      • 2018-05-29
      相关资源
      最近更新 更多