Javascript/jQuery ID 检查以通过验证驱动编号功能
Javascript/jQuery Id check to drive numbering function with validation
我需要循环的帮助...这可能很简单,但我很难编码。
基本上,我需要检查现有 ID 的编号,以便我可以使用不同的数字创建唯一的 ID。它们的名字是这样的:id="poly'+i'"与我的函数一起,其中 i 等于现有元素的数量。示例:数组 1、数组 2、数组 3 对应于 i=1 以创建数组 1,i=2 对应于数组 2,依此类推。
现在 i 基于现有元素的总数,我的 "CreateNew" 函数由 x=i+1 驱动(所以上面的例子,新元素将被命名为 Array 4)。问题是,如果您删除其中一个中间数字,"创建"功能将复制高数字。即数组 1、2、3 删除 2,创建新>数组 1、3、3。
我需要一个 if() 语句来检查数组是否已经存在,然后是一个 for() 循环遍历所有 i,直到它验证。不知道如何编码。
我试图纠正的代码如下(注意我最初不是写这个,我只是想用我最少的 JS 技能来纠正它):
function NewPanel() {
var i = numberOfPanels.toString();
var x = (parseInt(i)+1).toString();
$('#items').append('<div onclick="polygonNameSelected(event)" class="polygonName" id="poly'+i+'"> Array '+ x +' <a href="javascript:void(0)" onclick="removePolygon('+i+');return false;"> </a></div>');
$('div[id*=poly]').removeClass('selected');
$('#poly'+i).addClass('selected');
$('#poly'+i).click(function() {
selectedPolygon = i;
$('div[id*=poly]').removeClass('selected');
$(this).addClass('selected');
});
}
谢谢!:)
请澄清"问题是,如果您删除中间数字之一,"。删除是什么意思?无论如何,最简单的解决方案是创建两个数组。两个数组将具有相同的创建 id。每当在第一个数组中创建 id 时,都会将 id 添加到第二个数组中。因此,当它从第一个数组中删除时,请检查第二个数组的最大值,然后在第一个数组中创建此 id。我希望这不会让你感到困惑。
很难说为什么你不能拼接数组。在我看来,跟踪元素编号涉及很多额外的逻辑。换句话说,除了索引相同之外,由于重叠的 1、3、3(来自示例),id 与其他属性变得相同。如果不是这种情况,那么我的假设是不正确的。
基于该假设,当我遇到希望确保创建的索引始终是追加索引的情况时,我通常采用与数据库主键相同的方法。我设置了一个字段:
var primaryKeyAutoInc = 0;
每次我"创建"或将元素添加到数据存储(在本例中为数组)时,我都会复制键的当前值作为索引,然后递增primaryKeyAutoInc
值。这允许保证唯一索引,我假设你要去。此外,删除不仅不会影响将来的数据创建,保存的键索引还可以用作访问器。
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- javascript验证编号未检测到空表单字段
- 表单验证JavaScript编号总是返回false
- JavaScript 编号验证函数
- Javascript/jQuery ID 检查以通过验证驱动编号功能
- 用于验证预言机编号的有效正则表达式
- 验证表单编号类型 Javascript
- 如何验证单元格编号
- 具有最小/最大参数的验证编号
- 表单验证文本框编号为0-99,如果不是警报
- jquery编号验证工作不一致
- 验证html中的SA Vat编号
- 在 jquery 验证中对动态列表进行编号
- 如何使用verhoeff算法验证输入的aadhar编号是否有效
- 验证组织/公司编号的c#代码