我真的被困在这里&我想我错过了一些非常明显的东西。请帮助我(我是html,javascript的初学者)
我已经制作了一个dropdown
,其中包含我从JSON
填充的无序列表项。这里是填充列表的代码:
var oldJSON = null;
setTimeout(function main_func() {
var counter=0;
$.getJSON('mydata.json', function(data) {
if(JSON.stringify(oldJSON) != JSON.stringify(data)){
//$(".dropdown").html("");
//$("#notifications").append("<option style=display:none></option>")
$.each(data.items, function(i, v) {
counter++;
document.getElementById('test').innerHTML=counter ;
$('.dropdown').append('<li><input type="checkbox" value="'+counter+'"id="'+ counter +'"><label for="'+ counter +'"><div id="type">' + v.type +'</div>'+'<div id="text">' +v.text +'</div>'+'<div id="pnr">'+v.pnr+'</div>'+ '</label></li>');
;});
}
oldJSON = data;
});
setTimeout(main_func,2000);
});
现在,我的下拉列表(认为它是一个Facebook类型通知)包含复选框(对于标记为已读 - 尚未实现它)。我需要从复选框中获取值。现在我得到了空白的价值观。有人可以指点我正确的方向吗? 这是我的HTML:
<div id="selected_item"></div>
<section class="main">
<div class="wrapper-demo">
<div id="dd" class="wrapper-dropdown-4">
<ul class="dropdown"></ul>
</div>
<div class="main_func"></div>
<div id="test"></div>
</div>
</section>
&安培;这是与它一起使用的javascript(这不起作用):
$('.dropdown input[type="checkbox"]').on('click', function () {
var title = $(this).closest('.dropdown').find('input[type="checkbox"]').val(),
title = $(this).val() + ",";
if ($(this).is(':checked')) {
$('.selected_item').append(title);
}
});
答案 0 :(得分:1)
试试这个demo
$('.dropdown input[type="checkbox"]').on('click', function () {
var title = "";
$('.dropdown input[type="checkbox"]').each(function(){
if ($(this).is(':checked')) {
if(title != "")
title = title + ',';
title = title + $(this).val();
}
$('#selected_item').html(title);
});
});