我有一个下拉标记,如
<ul class="dropdown-menu">
<li><a href="#"></a></li>
</ul>
从服务器端,我得到的值将以逗号分隔的方式添加。
var dropdownMenuItems = "ADD,Substract,Multiply";
现在我想添加上面的值,我写的是
for (var i = 0; i <= dropdownMenuItems.length; i++)
{
$('.dropdown-menu a').add(dropdownMenuItems[i]);
}
但我在控制台中遇到JavaScript runtime error: Syntax error, unrecognized expression: ,
错误。
请帮忙。
答案 0 :(得分:2)
您需要使用split()
将字符串拆分为数组。然后,您需要遍历它并创建li
和a
元素,并append()
将它们创建为ul
。试试这个:
var arr = "ADD,Substract,Multiply".split(',');
var html = ''
for (var i = 0; i < arr.length; i++) {
html += '<li><a href="#">' + arr[i] + '</a></li>';
}
$('.dropdown-menu').append(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu"></ul>
请注意,您应该在<
循环中使用<=
而非for
,add()
用于向现有jQuery对象添加元素,而不是在DOM。
答案 1 :(得分:1)
试试这个。它的工作原理
var dropdownMenuItems = "ADD,Substract,Multiply";
var list = dropdownMenuItems.split(',');
$('.dropdown-menu').html('');
for (var i = 0; i <= list.length; i++)
{
$('.dropdown-menu').append('<li><a href="#">' + list[i] + '</a></li>');
}
答案 2 :(得分:1)
试试这样:
var result = 'ADD,Substract,Multiply';
$('.myClass').html($.map(result.split(','), function(item)
{
return $('<option></option>').val(item).html(item)[0].outerHTML
}).join(''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select class="myClass">
</select>