我想要做的是从 JavaScript 数组option
中为多个select
下拉菜单生成元素。然后选择下拉列表中与另一个数组(results
示例中的数组)中的值相同的每个选项。
问题在于,当结果数组有多个元素时,HTML 中的原始选项会乘以结果数组中的元素数。
我理解为什么会发生这种情况,但我似乎找不到比我目前使用的更好的解决方案,它是这样的:
var
options = ['Some value', 'Another value', 'Third value', 'Something completely different'],
results = ['Some value', 'Another value'],
selectHtml;
$.each( options, function( index, value ) {
var option = value;
$.each( results, function( index, value ) {
if ( option === value ) {
selectHtml += '<option selected="selected" value="' + option + '">' + option + '</option>';
}
else {
selectHtml += '<option value="' + option + '">' + option + '</option>';
}
});
});
你可以在这里找到一个活生生的例子:http: //jsfiddle.net/wCWyp/
我想要完成的是同样的事情,但没有元素的乘法。