【问题标题】:Selectize in DataTables gives empty values when clicked on Edit单击编辑时,在 DataTables 中选择会给出空值
【发布时间】:2022-12-15 07:53:06
【问题描述】:

我正在尝试在数据表编辑器中集成 selectize,但如果我单击编辑,则会得到一个空值(对于字段“国家/地区”)。 我有一个定义如下的数据表:

var table = $('#example').DataTable({
    dom : "Bfrtip",//"Bfrtlip",
    ajax : './DataChannelServlet?buster=' + new Date().getTime(),
    lengthMenu : [ [ 10, 25, 50, -1 ], [ 10, 25, 50, "All" ] ],
    select: {
        style:    'multi',
        selector: 'td:first-child'
    },
    order : [ [2, "asc"] ],
    columns : [ {
        data : null,
        defaultContent : '',
        className: 'select-checkbox',
        orderable: false
    },{
        data : "Id",
        defaultContent : ''
    },{
        data : "Name",
        defaultContent : ''
    }, {
        data : "DisplayName",
        defaultContent : ''
    }, {
        data : "country",
        defaultContent : ''
    }] ,
    fixedHeader: true,
    buttons: buttonArray
});

country 列有不同的值,由';'.

我定义了数据表编辑器如下:

editor = new $.fn.dataTable.Editor({
    ajax: "./DataChannelServlet",
    table: "#example",
    legacyAjax: true,
    idSrc: "rowID",
    fields: [{
        label: "Id",
        name: "Id",
        type: "readonly"
    },
    {
        label: "Country",
        name: "country",
        type: "selectize",
        options: getCountry(),
        opts: {
            placeholder: 'Enter a search',
            delimiter: ';',
            searchField: 'label',
            valueField: 'value',
            persist: true,
            maxItems: null,
            create: false
        }
    },{
        label: "Name",
        name: "Name",
        type: "readonly"
    },{
        label: "Display Name",
        name: "DisplayName",
        type: "readonly"
    },{
            label: "Row ID",
            name: "rowID",
    }],
});

getCountry() 方法提供了可供选择的国家列表。如果国家列只有一个国家,那么编辑器会在编辑屏幕中显示该值。但是,如果国家/地区列有多个值,例如 UK;Belgium,编辑器会为国家/地区显示空文本框。我怎样才能让编辑器在屏幕上显示国家值,就像它允许我选择多个国家值一样';'

【问题讨论】:

    标签: javascript jquery datatables selectize.js


    【解决方案1】:

    我将国家/地区值作为字符串传递。因此,我没有将它作为字符串从对象传递,而是作为字符串数组传递,这对我有用。 所以在我的 Java 类中,我的国家声明如下: private String country;,我将其更改为private String[] country

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2019-04-11
      • 2012-10-28
      • 2021-09-13
      相关资源
      最近更新 更多