jQuery过滤基于Radio PRE的SELECT选项 - 在加载时选择

时间:2009-05-21 18:31:14

标签: jquery

所以我昨天发布了这个问题(Link)并得到了我需要的答案但是对于我的生活,如果在身体负荷上选择了值,我就无法做到这一点。它只有在用户点击无线电然后它过滤选项时才有效。请帮助!!!

功能

jQuery.fn.filterOn = function(radio, values) {
    return this.each(function() {
        var select = this;
        var options = [];
        $(select).find('option').each(function() {
            options.push({value: $(this).val(), text: $(this).text()});
        });
        $(select).data('options', options);
        $(radio).click(function() {
            var options = $(select).empty().data('options');
            var haystack = values[$(this).attr('id')];
            $.each(options, function(i) {
                var option = options[i];
                if($.inArray(option.value, haystack) !== -1) {
                    $(select).append(
                    $('<option>').text(option.text).val(option.value)
                    );
                }
            });
        });            
    });
};

如何致电

$(function() {
    $('#theOptions').filterOn('input:radio[name=abc123]', {
        'abc': ['a','b','c'],
        '123': ['1','2','3']        
    });
});

提前致谢

BTW这是行动中的DEMO

1 个答案:

答案 0 :(得分:4)

$(document).ready(function(){
    $('input:radio:checked').click(); 
});

这样就可以为你的榜样做好准备。