Jquery-使用onclick和onload筛选显示结果

Jquery-使用onclick和onload筛选显示结果,jquery,jquery-filter,Jquery,Jquery Filter,我有一个带有几个单选按钮的页面和列表项列表(ul/li)。当第一次进入页面时,将显示完整的列表。查看收音机将缩小列表范围 我找到了一些jquery代码,它工作得很好。除了当前过滤之外,我想做的和找不到的是在页面加载时启动过滤(还没有单击),这样如果有任何预定义/预先检查的广播(如下面的第一个广播),列表将是已经过滤的列表,而不是完整的列表 谢谢你的帮助!以下是JSFIDLE上的链接: 将函数从委派更改事件中拉出(顺便说一句,您应该使用.on()而不是.delegate()),然后在文档准备就绪时

我有一个带有几个单选按钮的页面和列表项列表(ul/li)。当第一次进入页面时,将显示完整的列表。查看收音机将缩小列表范围

我找到了一些jquery代码,它工作得很好。除了当前过滤之外,我想做的和找不到的是在页面加载时启动过滤(还没有单击),这样如果有任何预定义/预先检查的广播(如下面的第一个广播),列表将是已经过滤的列表,而不是完整的列表

谢谢你的帮助!以下是JSFIDLE上的链接:


将函数从委派更改事件中拉出(顺便说一句,您应该使用
.on()
而不是
.delegate()
),然后在文档准备就绪时调用它

$('div.tags').delegate('input[type=radio]', 'change', update);
update(); // THIS CALLS THE FUNCTION ON DOC READY

function update() {
    var $lis = $('.results > li'),
        $checked = $('input:checked');
    if ($checked.length) {
        var selector = $checked.map(function () {
            return '.' + $(this).attr('rel');
        }).get().join('');

        $lis.hide().filter(selector).show();

    } else {
        $lis.show();
    }
}
$(document).ready(function() {
$('div.tags').delegate('input[type=radio]', 'change', function() {
  var $lis = $('.results > li'),
  $checked = $('input:checked');
  if ($checked.length) {
    var selector = $checked.map(function (){
        return '.' + $(this).attr('rel');
    }).get().join('');
        $lis.hide().filter(selector).show();  
  } else {
    $lis.show();
}
});
});
$('div.tags').delegate('input[type=radio]', 'change', update);
update(); // THIS CALLS THE FUNCTION ON DOC READY

function update() {
    var $lis = $('.results > li'),
        $checked = $('input:checked');
    if ($checked.length) {
        var selector = $checked.map(function () {
            return '.' + $(this).attr('rel');
        }).get().join('');

        $lis.hide().filter(selector).show();

    } else {
        $lis.show();
    }
}