0

这就是我得到的:

http://jsfiddle.net/XSX8G/1/

现在,您可以看到所有选定的选项都是蓝色的。

这应该只适用于第一个选择。

那么剩下 3 个,我希望从 ChosenOptions 数组中加载:

var chosenOptions = ['Black', 'Red', 'Black'];

因此,第一个循环应采用值为“Black”的选项并标记为 SELECTED。

然后第二个循环应该选择“红色”,第三个循环应该再次选择黑色。

当它完成加载时,它会在 4 个选择中将这些标记为:

Blue, Black, Red, Black

我怎样才能做到这一点?这不应仅针对 3 个数组键设为静态,并且当您从 4 增加到 5 时不应忘记所选值。

谢谢!!

4

1 回答 1

0

我会计算你的选择选项数组,然后在你克隆时迭代。如果用于克隆的循环大于选项数组,我们只需重置计数器。http://jsfiddle.net/XSX8G/3/

        var chosenOptions = ['Black', 'Red', 'Black'];
        var optionsCount = chosenOptions.length
            var y =0

        for (var i = 0; i < Math.abs(amount - selectCount); i++) {
               var clone = $orig.clone(true, true);
               $orig.after(clone);
            if(y >= optionsCount){y= 0}
                    //reset counter to start at the beginning
            clone.val(chosenOptions[y])
                ++y
        }
于 2012-09-12T19:39:45.367 回答