Из-за сочетания логики и отсутствия опыта работы с JQuery / Javascript я столкнулся с этой проблемой.
Справочная информация -
Я использую JQuery-глубокую ветвь of Complex-Form-examples, которая включает форму, которая создает / редактирует записи для нескольких вложенных таблиц одновременно.Частью этого является возможность для пользователя динамически добавлять / удалять новые записи.Пример: пользователь может создать проект ( уровень A ) со многими задачами ( уровень B ), каждый из которых имеет множество назначений ( уровень C ).
Дополнения Javascript -
Я создал функцию javascript, которая применяется независимо к каждой Задаче.Когда пользователь выбирает из поля выбора, «true» имеет идентификатор: "multiple_choice_" + f.object_id.to_s
, и функция находит это и выделяет div с именем "true_" + f.object_id.to_s
.
Новые элементы не имеют новых object_id's -
Каждый раз, когда пользователь добавляет новую запись, все они имеют один и тот же object_id, что делает мой вышеуказанный план бесполезным.Я попытался добавить этот object_id к rand(1000000000)
, но даже он идентичен каждый раз, когда добавляется новая задача.
Как я могу (1) генерировать новые object_ids / случайные числа каждый раз, когда добавляется задача, или (2) использовать разные уникальные идентификаторы для каждой задачи, которые будут отличаться для каждойсложение?
код Add_child в application.js:
$(function() {
$('form a.add_child').live('click', function() {
var assoc = $(this).attr('data-association');
var content = $('#' + assoc + '_fields_template').html();
var regexp = new RegExp('new_' + assoc, 'g');
var new_id = new Date().getTime();
$(this).parent().before(content.replace(regexp, new_id));
return false;
});
});
уточнение
Проблема не в том, как сгенерировать случайное число в приведенном выше коде .js,Проблема заключается в том, как получить доступ к этому новому случайному числу из вновь сгенерированного кода, например, для формирования идентификатора html-элемента.