【发布时间】:2012-07-09 07:56:10
【问题描述】:
我想做的是为 JavaScript 数组中的多个 select 下拉列表生成 option 元素。在下拉列表中选择与另一个数组中的值相同的每个选项(示例中为 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/
我想要完成的是同样的事情,但没有元素的乘法。
【问题讨论】:
标签: javascript jquery arrays loops