2017-12-21 8 views
0

特定の値に基づいて一意のチェックボックス値が必要です。私はおそらく、これらの値を持っているクラスを探すチェックボックスにクラスを追加することができますが、値だけに焦点を当てたいと思っています。あまり重複しないコードを書くことなく、独自の値を追加する方法はありますか?これは私が最も基本的な形で何をしたいです:1つの入力タイプで複数の値をターゲティングできますか?

var unique = $('.myclass input[type=checkbox][value=1], .myclass input[type=checkbox][value=3], .myclass input[type=checkbox][value=abc], .myclass input[type=checkbox][value=bca], .myclass input[type=checkbox][value=255], .myclass input[type=checkbox][value=abc123]'); 
unique.click(function() { 
    unique.filter(':checked').not(this).removeAttr('checked'); 
}); 

これは、より多くのコードを持っていますが、一意の値の配列は、成長を維持する必要がある場合、それはのように厄介ではありません。

var uniqueValues = ["1", "3", "abc", "bca", "255", "abc123"]; 
var uniqueArray = []; 
$.each(uniqueValues, function(index, value) { 
    uniqueArray.push('.myclass input[type=checkbox][value='+value+']'); 
}); 
var unique = $(uniqueArray.join(", ")); 
unique.click(function() { 
    unique.filter(':checked').not(this).removeAttr('checked'); 
}); 

2つの上記の例の一つとして同じになり、このような何かをする方法はありますか?

var uniqueValues = ["1", "3", "abc", "bca", "255", "abc123"]; 
var unique = $('.myclass input[type=checkbox][value='+uniqueValues+']'); 
unique.click(function() { 
    unique.filter(':checked').not(this).removeAttr('checked'); 
}); 
+1

一意の値を追加しますか?手動で追加する?動的に?ユーザーによる?別の情報源によって?このコードはあまり意味がありません。なぜなら、 – zer00ne

答えて

1

いいえ、一度に複数の属性値に一致する組み込みのjQueryセレクタはありません。プレフィックスセレクタとサフィックスセレクタがあり、同じ文字列で開始または終了する値は一致させることができますが、リストは一致させることはできません。

代わりに、あなたが望むものを選択する.filter()を使用することができます。

var uniqueValues = ["1", "3", "abc", "bca", "255", "abc123"]; 
var unique = $(".myclass :checkbox").filter(function() { 
    return uniqueValues.indexOf(this.value) != -1; 
}); 
0

は、私は私が正しくあなたの質問を理解したが、ここに私のソリューションですでしたか分かりません。ユーザーがチェックボックスをクリックするたびにクリックされたチェックボックスの値がオブジェクトに存在する場合

var uniqueValues = ["1", "3", "abc", "bla"]; 
$(document).on('click', '.myClass input[type="checkbox"]', function(){ 
    if(uniqueValues.indexOf($(this).val()) != -1){ 
     //Run the click event 
    } 
}); 

基本的には、コードがチェックし、それがある場合、それはクリックイベントを実行します。

関連する問題