克隆时,更改jQuery中的选定选项

时间:2012-09-12 18:07:22

标签: jquery

这就是我得到的:

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

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

这应仅适用于FIRST选择。

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

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

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

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

在加载它时,它会在4选择中标记为

Blue, Black, Red, Black

我该怎么做?这不应该只为3个数组键设置为静态,当你从4增加到5时,它不应该忘记所选的值。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会计算您选择的选项数组,然后在克隆时迭代。如果克隆循环大于options数组,我们只需重置计数器。 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
        }