我对这段代码有疑问,
var sourceArray = ['facebook', 'instagram', 'youtube', 'twitter', 'linkedin', 'vk', 'google+'];
var utmMediumContent = '<select name="utm-source" id="i-utm-source" class="builder-input">'+
$.each(sourceArray, function(index,value){
console.log ('<option value="'+value+'">'+value+'</option>');
return ('<option value="'+value+'">'+value+'</option>');
})
+'</select>';
console.log(utmMediumContent);
第一个console.log完全返回,我想要<option value="facebook">facebook</option>
等,
但是第二个console.log只返回数组中的select和values - facebook,instagram,youtube等。
<select name="utm-source" id="i-utm-source" class="builder-input">facebook,instagram,youtube,twitter,linkedin,vk,google+</select>
如果有可能,我会很感激如何在变量内部循环。
提前感谢您的帮助
答案 0 :(得分:2)
那不是你应该怎么做的。您应该将select
和options
附加到数组中。请参阅工作代码段:
var sourceArray = ['facebook', 'instagram', 'youtube', 'twitter', 'linkedin', 'vk', 'google+'];
var utmMediumContent = [];
utmMediumContent += '<select name="utm-source" id="i-utm-source" class="builder-input">';
$.each(sourceArray, function(index, value) {
//console.log('<option value="' + value + '">' + value + '</option>');
utmMediumContent += '<option value="' + value + '">' + value + '</option>';
});
utmMediumContent += '</select>';
console.log(utmMediumContent);
$(utmMediumContent).appendTo('body');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
不是返回,而是可以使用连接构造元素:
utmMediumContent += '<option value="'+value+'">'+value+'</option>';
});
utmMediumContent += '</select>';