$('#subjects input[type=checkbox]').on('click',function(){
alert($(this).prop('checked'));
});
または変更イベント: 誰かがキーボードを使用する場合
$('#subjects input[type=checkbox]').on('change',function(){
alert($(this).prop('checked'));
});
簡単なフィドルの例: http://jsfiddle.net/Dr8k8/
配列の例を取得するには、入力のインデックスを使用します
alert($(this).prop('checked') +'is'+ $(this).parent().find('input[type=checkbox]').index(this)+ responseArray[$(this).parent().find('input[type=checkbox]').index(this) ]);
簡単な例: http://jsfiddle.net/Dr8k8/1/
編集:例として、結果をすべてのチェックボックスの配列に入れて、それで何かをすることができます:
$('#subjects>input[type=checkbox]').on('change', function() {
var checklist = [];
$(this).parent().find('input[type=checkbox]').each(function() {
$(this).css('background-color', "lime");
var myindex = $(this).parent().find('input[type=checkbox]').index(this);
if ($(this).prop('checked') == true) {
checklist[myindex] = responseArray[myindex];
}
});
$('#currentlyChecked').text(checklist);
});
EDIT2:
私はこれについて少し考えました.data()を使用してそれを改善し、それをクエリするか、イベントに基づいて保存します(私のボタンは「whatschecked」のIDで呼び出されます)
var responseArray = ['math', 'science', 'technology', 'engineering'];// just for an example
var myList = '#subjects>input[type=checkbox]';//to reuse
for (var x = 0; x < responseArray.length; x++) {
// here we insert it all so we do not hit the DOM so many times
var iam = "<br />" + responseArray[x] + "<input type='checkbox' />";
$("#subjects").append(iam);
$(myList).last().data('subject', responseArray[x]);// add the data
}
var checklist = [];// holds most recent list set by change event
$(myList).on('change', function() {
checklist = [];
$(myList).each(function() {
var myindex = $(this).parent().find('input[type=checkbox]').index(this);
if ($(this).prop('checked') == true) {
checklist.push($(this).data('subject'));
alert('This one is checked:' + $(this).data('subject'));
}
});
});
// query the list we stored, but could query the checked list data() as well, see the .each() in the event handler for that example
$("#whatschecked").click(function() {
var numberChecked = checklist.length;
var x = 0;
for (x = 0; x < numberChecked; x++) {
alert("Number " + x + " is " + checklist[x] + " of " + numberChecked);
}
});
最後の例の実例: http://jsfiddle.net/Dr8k8/5/