过滤器中的jQuery inArray示例

时间:2013-09-26 11:48:17

标签: jquery filter

这样的功能是否可行?

function show_upload_fieldset_if_necessary () {

    var in_this_cases = new Array (2110,2120,2130,2140,2150,2160);
    $('.my_radiobuttons :input[value="$.inArray(in_this_cases)"]').click(function(event) {
        $('#id_my_upload_fieldset').slideDown('slow');
    });
}

我做错了什么?

3 个答案:

答案 0 :(得分:4)

你不能将Javascript或jQuery放在这样的选择器中。

您可以改为使用.filter

$(".my_radiobuttons :radio").filter(function() {
  return $.inArray($(this).val(), in_this_cases) > -1;
}).click(function() {
  $('#id_my_upload_fieldset').slideDown('slow');
});

答案 1 :(得分:1)

使用这样的选择器是不可能的,但您可以使用如下所示的过滤器

function show_upload_fieldset_if_necessary () {

    var in_this_cases = new Array (2110,2120,2130,2140,2150,2160);
    $('.my_radiobuttons :input').filter(function(){
        return $.inArray(this.value, in_this_cases) != -1;
    }).click(function(event) {
        $('#id_my_upload_fieldset').slideDown('slow');
    });
}

答案 2 :(得分:0)

var $filtered = $('.my_radiobuttons :input').filter(function(){
     return $.inArray(this.value, in_this_cases) > -1
});