重写选择选项值以排除特定的数组段

时间:2012-05-06 00:01:45

标签: jquery arrays option jquery-selectbox

这与我昨天的问题有关,@ imbririreed完全回答here

在尝试更进一步时,我的大脑短路了。另外,jquery api网站已关闭。

我有两个选择框;根据第一个选项删除第二个中的某些选项。每个选择框的选项值都是数组。

我现在需要做的是更改第二个选择框的值,以便删除与第一个选择框不匹配的任何数组段。我整天都在这,它扭曲了我的脑袋。 So, in this fiddle,如果在#selectbox1中选择了“室内乐”,则#selectbox2的选项Chamber Music 5的值应更改为

<option value="620069,1547340">Chamber Music 5</option>, 

因为另一个值(328874)与原始数组不匹配。可能?笨重?我已经在比较数组,所以已经得到了不匹配。

2 个答案:

答案 0 :(得分:1)

我不太确定我理解这个问题,特别是“ #selectbox2选项室内音乐5的价值应改为室内音乐5 ”部分。我假设您要在第二个选择框中更改选项的值,具体取决于第一个选择框中的选定值。

这样的事情可行:http://jsfiddle.net/3VfU4/3/

// check each value
var values = this.value.split(',');
var new_values = [];
var result = true;

for(i in values) {
    if($.inArray(values[i], selected) > -1) {
        result = false;
        new_values.push(values[i]);
    }
}

this.value = new_values.join(',');

return result;

答案 1 :(得分:0)

我担心我不熟悉jQuery足以帮助你,但我想我可以在api网站关闭时分享我的工作。

您仍然可以通过查看Google缓存页面来查看该页面。如果您使用的是Chrome,则可以在“找不到页面”屏幕上选择该选项。

或者对于其他方式,请查看此处:http://www.blueglass.com/blog/everything-you-should-know-about-google-cache/