jQuery:索引数组



我有一个Rails应用程序,我想在其中提交一系列逗号分隔的ID。例如,假设我在订单中添加了三个元素,分别具有 ID 12、2 和 4,我希望字段为:

12,2,4

这很容易。当我改变主意并且我想将某个位置(即开始)的元素替换为 ID 为 3 的元素时,问题就会出现。我将如何设法提交3,2,4而不是2,4,3?我很卡住。如果有一种方法可以在字段中的ID之间(而不是在开头或结尾)自动放置逗号,那将非常有用。

干杯!

编辑:我写这篇文章是为了解决这个问题。感觉很近,但还没有雪茄。下面提到的src包含上述三个 ID 之一,并且此函数将附加到的#elementX数量不断变化。

$('#element1').change(function() {
  var src = $(this).val();
  var array = $('#order').val().split(",");
  array.splice(0, 1, src).join(",");
  $('#order').val(array);
}

三个步骤。 您从包含逗号分隔整数的字符串开始。

  1. 将逗号上的字符串拆分为 id 数组。
  2. 将新 id 拼接到替换旧 id 的数组中。您希望将 3 个参数传递给拼接:
    • 要从中开始删除的元素的索引(如果要删除第一个元素,则其索引将为 0)。
    • 要删除多少个元素(此处您只想删除第一个元素,因此为 1)。
    • 要添加的新元素(在您的情况下,它是src)。
  3. 在逗号上将字符串重新连接在一起。

最新更新