Что вы, вероятно, хотите сделать (спасибо Фредерик):
jQuery("#sbutton").click(function() {
if (jQuery('input[name^="choose"]').is(':disabled'))
return false;
if (jQuery('input[name^="choose"]').is(':checked'))
jQuery('input[name^="choose"]').removeAttr("checked");
else
jQuery('input[name^="choose"]').attr("checked", true);
});
или просто
jQuery("#sbutton").click(function() {
var checkbox = jQuery('input[name^="choose"]');
if (checkbox.is(':disabled'))
return false;
checkbox.attr('checked', !checkbox.is(':checked'));
});
Проблема с вашим кодом заключается в том, что вы ожидаете, что оценка для отключенных будет оцениваться при каждом нажатии кнопки, и использовать первую функцию, если она истинна. Хотя он вызывается только при каждом втором щелчке, а другой функции не важно, отключена она или нет. Он проверяет флажок, несмотря ни на что. Вы должны либо привязать событие click, как я, либо привязать и отменить привязку к событию toggle в зависимости от того, отключена кнопка или нет.
В будущем вам будет легче помочь, если вы представите свой код в качестве скрипки (http://www.jsfiddle.net)) и более подробно опишите, что вы пытаетесь сделать, а что нет.