Возможно ли такое функционирование?
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');
});
}
Что я делаю не так?
Вы не можете поместить Javascript или jQuery в такой селектор.
Вместо этого вы можете использовать .filter:
$(".my_radiobuttons :radio").filter(function() {
return $.inArray($(this).val(), in_this_cases) > -1;
}).click(function() {
$('#id_my_upload_fieldset').slideDown('slow');
});
Невозможно использовать такой селектор, но вы можете использовать фильтр, как показано ниже.
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');
});
}
return ~$.inArray(this.value, in_this_cases)
;)
var $filtered = $('.my_radiobuttons :input').filter(function(){
return $.inArray(this.value, in_this_cases) > -1
});
new Array("2110", "2120"...etc)
Или используйтеparseInt
внутриinArray
:$.inArray(parseInt(this.value), in_this_cases) > -1;