gpt4 book ai didi

javascript - 复杂形式 - 如何为每个新元素生成新的 object_ids?

转载 作者:行者123 更新时间:2023-11-30 06:06:01 25 4
gpt4 key购买 nike

由于逻辑和缺乏使用 JQuery/Javascript 的经验,我发现自己遇到了这个问题。

背景-
我正在使用 Jquery-deep branch Complex-Form-Examples 的集合,它启用了一个可以同时为多个嵌套表创建/编辑记录的表单。其中一部分是用户动态添加/删除新记录的能力。示例:用户可以创建一个包含许多任务(B 级)的项目(A 级),每个任务都有许多分配(C 级)。

Javascript 添加 -
我已经构建了一个独立应用于每个任务的 javascript 函数。当用户从选择框中进行选择时,“true”的 ID 为:“multiple_choice_”+ f.object_id.to_s,该函数会找到它并突出显示名为 “true_”的 div + f.object_id.to_s.

新元素没有新的object_id -
每次用户添加一条新记录时,它们都具有相同的 object_id,这使我的上述计划无用。我尝试将此 object_id 添加到 rand(1000000000) 但即使每次添加新任务时也是相同的。

我如何 (1) 每次添加任务时生成新的 object_ids/随机数,或者 (2) 为每个任务使用不同的唯一标识符,每次添加都不同?


application.js 中的 Add_child 代码:

$(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 元素的 ID。

最佳答案

只需使用全局计数器:

var _taskCount = 0;
$(function() {
$('form a.add_child').live('click', function() {
...
var new_id = "Task_" + _taskCount;
_taskCount++;
...
});
});

关于javascript - 复杂形式 - 如何为每个新元素生成新的 object_ids?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4614469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com