$ .each javascript函数的内部HTML结果

时间:2014-06-12 13:15:03

标签: javascript jquery select innerhtml each

我正在尝试使用选项值和来自两个单独数组的文本进行选择(一个名为like_list,另一个名为like_list_name)。 ' $。每个'连接两个数组并生成选项列表。当我查看console.log时,我可以看到选项看起来不错:

$.each(like_list, function(i, item) {
console.log('<option value="' + like_list[i] + '">' + like_list_name[i] + '</option>');
});

但是当我将输出命名为&#39; optionlist&#39;并尝试将&#39;选项列表&#39;进入div&#39; friendselect&#39;使用内部HTML它不起作用:

var optionlist = $.each(like_list, function(i, item) {
'<option value="' + like_list[i] + '">' + like_list_name[i] + '</option>';
});

document.getElementById('friendselect').innerHTML = '[select]' + optionlist + '[/select]';

无论如何都要将此选择框放入&#39; friendselect&#39; DIV?注意:我使用过&#39; [&#39;因为侧箭头不起作用。

2 个答案:

答案 0 :(得分:2)

您应该尝试使用map功能:

var optionlist = $.map(like_list, function(i, item) {
  return '<option value="' + like_list[i] + '">' + like_list_name[i] + '</option>';
}).join('');

document.getElementById('friendselect').innerHTML = '<select>' + optionlist + '</select>';

答案 1 :(得分:-1)

$.each()不返回其功能中的值,您必须自己添加它们。

您可以做的最好的事情是将选项添加到每个循环中的select中,如下所示:

$.each(like_list, function(i, item) {
$("#friendselect").append('<option value="' + like_list[i] + '">' + like_list_name[i] + '</option>');
});