var byAppr = document.getElementById('checkbox1').value;
$(byAppr).attr('checked') // -> returns undefined
Я тестирую это в firefox 3.6
Ответ 1
Используйте одно из следующих действий:
$('#checkbox1').prop('checked') - в jQuery 1.6+, обычно путь
$('#checkbox1').is(':checked') - все версии jQuery, но медленнее
$('#checkbox1').attr('checked') - НЕ в jQuery 1.6 - но в 1.6.1 и <= 1.5, не использовать его
Кроме того, в случаях, когда у вас уже есть элемент DOM, доступный напрямую (например, this в обработчике событий, связанном с этим полем), используйте this.checked вместо $(this) с одним из вышеперечисленных методов!
Ответ 2
Вы выбираете на основе значения. Я думаю, вы хотите:
var byAppr = document.getElementById('checkbox1');
$(byAppr).attr('checked')