从下拉列表中获取复选框的值

时间:2014-03-28 07:12:16

标签: javascript html checkbox

我真的被困在这里&我想我错过了一些非常明显的东西。请帮助我(我是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);
    } 
});

如果可以更好地构建问题,请编辑问题;)。如果有任何帮助,我已在此处粘贴代码html css json

1 个答案:

答案 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);
    });
});
相关问题