/HTML/
<ul id="list" class="row list-group checked-list-box col-xs-3"></ul>
/append li tag/
$('#list').append('<li class="list-group-item tree"> <input type="checkbox" name="swt">'+ "Train" + '</li>');
/Jquery/
var sw = {};
var favorite = [];
$.each($("input[name='swt']:checked"), function() {
favorite.push($(this).val());
});
sw.swd = favorite;
var skill= {};
for (var m = 0; m < favorite.length; m++) {
var swObj = [];
$.each($('input[name="' + sw.swd[m] + '"]:checked'), function() {
swObj.push($(this).attr("class"));
});
skill[sw.swd[m]] = swObj;
}
var data = " ";
$.each(skill, function(key, value) {
data += '<li>' + key + ':' + value + '</li>';
});
我需要删除列表出现之前出现的子弹。 我的输出如下:
车辆:火车,公共汽车,汽车
蔬菜:洋葱,马铃薯,番茄
我希望通过移除顶部的第一个子弹来输出。伙计们可以帮助我解决这个问题吗?
答案 0 :(得分:1)
只需使用
if(key !="" && value !="") { data += '<li>' + key + ':' + value + '</li>'; }
答案 1 :(得分:1)
试试这个,
var data = " ";
$.each(skill, function(key, value) {
if (value === " " || value === null || value === undefined || value === "" || typeof (value ) === "undefined") // Advanced null check + white space check
//if( value ) { // normal null check
data += '<li>' + key + ':' + value + '</li>';
}
});
无需检查/验证密钥,因为当您使用$ .each
时,它永远不会为null注意:如果您的值是空格,则此验证将不起作用,您还需要将其添加到此列表中。
答案 2 :(得分:0)
$(function() {
var sw = {};
var favorite = [];
$.each($("input[name='swt']:checked"), function() {
favorite.push($(this).val());
});
sw.swd = favorite;
var skill= {};
for (var m = 0; m < favorite.length; m++) {
var swObj = [];
$.each($('input[name="' + sw.swd[m] + '"]:checked'), function() {
swObj.push($(this).attr("class"));
});
skill[sw.swd[m]] = swObj;
}
var data = " ";
$.each(skill, function(key, value) {
data += '<li>' + key + ':' + value + '</li>';
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul class="row list-group checked-list-box col-xs-3">
<li class="list-group-item tree"> <input type="checkbox" id="1" value="Train" name="swt">Train</li></ul>
&#13;