检查范围内的复选框值

时间:2013-03-30 07:00:21

标签: jquery html

我正在为网站使用过滤器,并且需要将这些选中的值显示在范围中的div中。我已经阅读了它在div中显示的Stack Overflow文章,但我希望将值显示在span标记中。下面是我使用Stack Overflow获取值的代码。

jQuery的:

$(document).ready(function()
{
    var el = $('.dropdown_box ');
    var text= el.text();
    $('.dropdown_container').on('click', 'li', function()
    {
        var filter = [];
        $.each($('.dropdown_container').find(':checked'), function(i, el)
        {
            filter.push(el.value);
        });
        el.text(text + ('') + filter.join (''));
    });
});

HTML:

<div class="dropdown_box">
    Filter Items :
</div>
<div class="dropdown_container">
    <ul>
        <li><input type="checkbox" name="filter[]" value="Black" class="cbx"/>Black</li>
        <li><input type="checkbox" name="filter[]" value="Red" class="cbx"/>Red</li>
        <li><input type="checkbox" name="filter[]" value="brown" class="cbx"/>brown</li>
        <li><input type="checkbox" name="filter[]" value="pink" class="cbx"/>pink</li>
        <li><input type="checkbox" name="filter[]" value="purple" class="cbx"/>purple</li>
        <li><input type="checkbox" name="filter[]" value="Orange" class="cbx"/>Orange</li>
    </ul>
</div>

2 个答案:

答案 0 :(得分:0)

.on

之外定义过滤器数组

示例

var filter = [];
$('.dropdown_container').on('click', 'li', function()
{

因为每次click您的filter数组变量都会重新初始化。

答案 1 :(得分:0)

    $(document).ready(function()
    {
        var el = $('.dropdown_box ');
        var text= el.text();
        $('.dropdown_container').on('click', 'li', function()
        {
 var filter = [];

            $.each($('.dropdown_container').find(':checked'), function(i, el)
            {


filter.push("<span>"+el.value +"</span>");

            });

     $('.dropdown_box').html(filter);

        });
    });

未检查结果请尝试此