2017-01-17 9 views
1

Я использую jsgrid для создания на стеке datagrid в веб-приложении, и теперь вам нужно добавить идентификатор в каждую строку, чтобы можно было выбрать строку и значение ключа, переданное на задний план.Динамическое добавление идентификатора в строку таблицы с помощью jQuery?

Код, который я пытаюсь использовать как показано ниже, мне удалось подтвердить, что значения присутствуют для каждой записи fieldData (это объект, в котором хранятся данные строки). Функция запускает цикл for, используя переменная iRDG2 для циклического переключения строк таблицы и URN - ключевой пары, которая относится к уникальному ссылочному номеру;

К сожалению, механизм JS в браузере сообщает мне, что объект не поддерживает свойство, возможно, поскольку в нем содержатся ячейки.

Любые рекомендации приветствуются.

+1

не могли бы вы разместить здесь данные таблицы? –

+1

вам нужен объект JQuery для использования attr '$ ($ ('tbody'). Children() [iRDG2]). Attr ('id', fieldData [iRDG2] .URN);' – crowchirp

+0

Я использую jQuery. Извините, я не делал этого ясно –

ответ

1

Вы можете исправить свой код, как следующее:

$('tbody').children().eq(iRDG2).attr('id', fieldData[iRDG2].URN); 

Но если изменить строки с внешним кодом, вы должны убедиться, что это делается на onRefreshed обратного вызова. Поскольку содержимое сетки может быть обновлено, значит, идентификаторы будут потеряны.

Вероятно, лучше альтернативы можно было бы использовать rowClass возможность присвоить уникальный класс для каждой строки, например:

rowClass: function(item, itemIndex) { return "row-" + item.ID }, 

Таким образом, вы можете ссылаться на строку этого класса: $(".row-123")

0

Спасибо за все предложения, но я закончил тем, что пошел вниз по маршруту, где строка обновила переменную со значением первого дочернего элемента строки, а не сработала в первый раз