Передача параметра в функцию JavaScript дает ошибку - PullRequest
0 голосов
/ 17 марта 2011

Я использую сетку extjs, и я поместил функцию рендеринга в столбец сетки

/** 
    * function for rendering the link
    **/
    function linkRenderer(data, cell, record, rowIndex, columnIndex, store) {
        console.log(record.id);
        if  (data != null)  {
            return '<a href="javascript:void(0)" onclick="resellerwindow('+record.id+')">' + data + '</a>';
        }
        return data;
    }

, а при нажатии на ссылку я получил ошибку, whatever the value of record.id is not not defined

подскажите, какое решение я могу сделать.

Ответы [ 3 ]

1 голос
/ 17 марта 2011

У вас есть набор idProperty для вашего магазина? установите для idProperty одно из значений, используемых для идентификации уникальных записей. Это гарантирует, что для record.id установлено значение. Для доступа ко всем остальным значениям записи вам нужно будет получить к ним доступ через record.data.proerty

Обновление: Вам необходимо использовать escape-символы, чтобы значения строк правильно передавались методу resellerwindow:

<a href="javascript:void(0)" onclick="resellerwindow(\''+record.id+'\')"> + data + '</a>'
0 голосов
/ 17 марта 2011

Если вывод вашего консольного журнала представляет собой строку, вы неправильно вызываете свою функцию, вы пропускаете некоторые кавычки, если record.id является строкой.

function linkRenderer(data, cell, record, rowIndex, columnIndex, store) {
    if  (data != null)  {
        return String.format('<a href="javascript:void(0)" onclick="resellerwindow(\'{0}\')">{1}</a>', record.id, data);
    }
    return data;
}
0 голосов
/ 17 марта 2011

Но это довольно ясно, значение record.id не определено.Д!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...