jQuery では、属性による選択が次のように機能することは誰もが知っています。
var abc =$('input[name=iphone]');
私の場合、配列があります。属性が配列内の値と一致する要素を選択したいと考えています。
このようなもの :
var abc =$('input[name in (my_array)]');
あなたは私が何を意味するか分かります
jQuery では、属性による選択が次のように機能することは誰もが知っています。
var abc =$('input[name=iphone]');
私の場合、配列があります。属性が配列内の値と一致する要素を選択したいと考えています。
このようなもの :
var abc =$('input[name in (my_array)]');
あなたは私が何を意味するか分かります
配列から複数セレクターを構築できます。
var arraySelector = $.map(my_array,
function (item) {
return "input[name=" + item + "]";
}).join(",");
var abc = $(arraySelector);
選択した答えは近いですが、問題が 1 つあります。$.inArray は、配列内の値のインデックスを返すか、存在しない場合は -1 を返します。したがって、答えを次のように編集します。
var collection = [];
$("input[name]").each(function () {
if($.inArray($(this).attr("name"), yourArray) != -1) {
collection.push($(this));
}
});
次のようにアプローチする必要があります。
var collection = [];
$("input[name]").each(function () {
if($.inArray($(this).attr("name"), yourArray)) {
collection.push($(this));
}
});
var my_array = [ /* array of names */ ];
var abc = $('input').filter( function(){
return (my_array.indexOf( this.name ) > -1);
});
配列の長さでループを実行する必要があります
var abc="";
for(var i=0;i<my_array.length;i++){
abc=$('input[name =+my_array[i]]');
}