附加筛选的选项数组以选择:NOT_FOUND_ERR:DOM异常8

时间:2012-08-07 16:39:52

标签: jquery filter append options

下面的代码是我正在使用的一个略微截断的版本,为了简洁:希望它足以说明问题。如果它有帮助我可以设置一个jsfiddle吗?

无论如何:我正在创建一个jquery对象数组,然后过滤掉任何值在已经选择的数组中的值,然后尝试将结果附加到我的选择框。

我认为问题在于我从filter()操作中得到了什么。它显示为一个对象数组,但每个对象都以“e.fn.e.init [1]”开头。当我尝试将该对象数组附加到选择框时,我得到 NOT_FOUND_ERR:DOM异常8

var selected_roles = [2,4],
all_roles = [];

// these lines generated from PHP
all_roles.push( $('<option value="3">Doctor</option>') );
all_roles.push( $('<option value="4">Dentist</option>') );
all_roles.push( $('<option value="2">Biscuit Designer</option>') );
all_roles.push( $('<option value="7">International Playboy</option>') );


function getAvailableRoleOptions(){
    var out = all_roles;
    return out.filter( function(element) {
        return $.inArray( parseInt( $(element).attr('value') ), selected_roles ) === -1;
    });
}

$options = getAvailableRoleOptions();

$('#job_select').empty().append( $options );

什么是返回给我的过滤功能?我是否需要在某处使用get(),如果是,在哪里?我甚至可以做我想做的事吗?我错了吗? :)

谢谢:)

0 个答案:

没有答案