0

在显示项目列表的模式表单上,我想标记已选择的项目。有没有办法一次选择几个元素提供一个 id 数组?

例子:

$('.searchable').find('[role~=item]')

返回

<tr role=​"item character" data-id=​"1">​…​&lt;/tr>​
<tr role=​"item character" data-id=​"2">​…​&lt;/tr>​
<tr role=​"item character" data-id=​"3">​…​&lt;/tr>​
<tr role=​"item character" data-id=​"4">​…​&lt;/tr>​

但我想标记已经选择的项目,将它们添加为“选定”类。我得到了一个数组中的选定项目。示例:数组 = [1,3]

有没有办法做这样的事情:

$('.searchable').find('[role~=item][data-id=array')
4

2 回答 2

2

您可以使用 each 遍历数组并在数组中的每个元素中执行操作,

 jQuery.each(array, function(i, item) {
     $(item).data("id");  
 };

或者你可以尝试这样的事情,

var filtered = $('.searchable').find(function(){
   if(array.indexOf(this.val(), 0)
        return $(this);
});
于 2012-07-27T15:40:02.490 回答
1
var Array = [1,3], 
    elems;

$.each(Array, function(i,e) {
    elems.add( $('[role~=item][data-id="'+e+'"]', '.searchable') );
});

elems.addClass('highlight');
于 2012-07-27T15:49:35.433 回答