Лучшее, что я мог придумать, это:
$('label').click(
function(){
$(this).next(':disabled').removeAttr('disabled');
});
Так как сам отключенный элемент не отвечает, по крайней мере, в Chrome 8 / Ubuntu 10.10, на события щелчка.
Это, конечно, предполагает, что label
предшествует отключенному элементу, и не 'в его текущей форме проверяет, соответствует ли метка следующему отключенному элементу.
JS Fiddle из вышеперечисленного .
<ч />
Отредактировано для пересмотра подхода, поэтому нажатие на label
влияет только на соответствующие input
:
$('label').click(
function(){
var relevantInput = $(this).attr('for');
$('#' + relevantInput)
.removeAttr('disabled');
});
JS Fiddle demo