Я думаю, проблема отсюда: $('#CheckBox' + id).attr("checked") == true
.В соответствии со спецификациями HTML, checked
должно быть установлено на "checked"
при возникновении этого события.Итак, попробуйте использовать что-то вроде $('#CheckBox' + id).attr("checked") == "checked"
или даже $('#CheckBox' + id).attr("checked")
.
В качестве второго варианта, я рекомендую вам использовать чистый jquery для запуска вашей подпрограммы.Например, если у вас установлен флажок <input type="checkbox" id="ac">
, вы можете использовать этот код jq для обработки ваших подпрограмм:
$(document).ready(function() {
$("input[type=checkbox]").change(function() {
alert("Am i checked? - " + $(this).attr("checked") + "\nMy ID:" + $(this).attr("id"));
});
});
Этот случай показан в этой демонстрации .