Поле ввода должно быть пустым вместо [объект объекта] или { - PullRequest
0 голосов
/ 13 февраля 2020

с использованием jquery datatables - как мне сделать, чтобы мой ввод показывал null

data: null,
name: "MillerLite",
render: function (data, type, row) {
    if (type === 'display') {
        return '<input name="MillerLite" value="' + data.toString() + '" />';
    }
    return data;
}

Я пробовал - но это показывает [null Null]

data: null,
name: "MillerLite",
render: function (data, type, row) {
    if (type === 'display') {
        return '<input name="MillerLite" value="' + data.toString() + '" />';
    }
    return data;
}

А также - но это показывает левую скобку по умолчанию {

data: null,
name: "MillerLite",
render: function (data, type, row) {
    if (type === 'display') {
        return '<input name="MillerLite" value="' + JSON.stringify(data) + '" />';
    }
    return JSON.stringify(data);
}

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Это заполнит ввод строкой 'null', если data равно null, в противном случае будет показано data.toString (). Если у вас есть JSON представление данных (или что-то еще), просто проанализируйте их соответственно, например, JSON .parse:

data: null,
name: "MillerLite",
render: function (data, type, row) {
    if (type === 'display') {
        return '<input name="MillerLite" value="' + (data ? data.toString() : 'null') + '" />';
    }
    return data;
}
0 голосов
/ 13 февраля 2020

Вы можете использовать троичный оператор и установить новую переменную на любое значение, которое вы хотите, пустую строку, "ноль" и т. Д. c.:

data: null,
name: "MillerLite",
render: function (data, type, row) {

    //let myData = (data === null) ? "" : data;
    // if data is an object:
    let myData = (Object.entries(data).length === 0) ? "" : data;

    if (type === 'display') {
        return '<input name="MillerLite" value="' + myData + '" />';
    }
    return data;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...