2011-11-24 96 views
1

我禁用表單域上的輸入/單選按鈕。 當我嘗試使用按鈕再次啓用它們時,可以正常工作。 http://jsfiddle.net/3Z6aQ/jquery禁用/啓用輸入/單選按鈕

$(document).ready(function() { 
    $(".control").toggle(

    function() { 
     $('.target').removeAttr("disabled"); 
     $(this).addClass("checked"); 
    }, function() { 
     $('.target').attr("disabled", true); 
     $(this).removeClass("checked"); 
    }); 
}); 

但現在,我嘗試用「進入」按鈕,但沒有再次啓用此輸入按鈕發生在這裏...你能幫幫我嗎?

$(document).ready(function() { 
$(".control").toggle(

function() { 
    $('.target').removeAttr("disabled"); 
    $(this).addClass("checked"); 
}, 
function() { 
    if (e.keyCode == 13) { 
     $('.target').attr("disabled", true); 
     $(this).removeClass("checked"); 
     return false; 
    } 
}); 
}); 

http://jsfiddle.net/f6s8U/

,這就是我在最後一小時試圖...但我有一些問題的代碼

$(document).ready(function() { 
$(".control").toggle(

function() { 
    $('.target').removeAttr("disabled"); 
    $(this).addClass("checked"); 
}, 

$('input').keypress(function(event) { 

    var keycode = (event.keyCode ? event.keyCode : event.which); 
    if (keycode == '13') { 
     $('.target').removeAttr("disabled"); 
     $(this).addClass("checked"); 
     alert('You pressed a "enter" key in textbox'); 
    } 
}); 
}); 
}); 

回答

0

我回到你的第一小提琴,然後爲您的輸入添加了按鍵事件。因爲你永遠只能將能夠觸發輸入上的按鍵時,它的啓用,可以觸發你的「複選框」點擊 - 這反過來,將禁止輸入:

$(document).ready(function() { 
    $(".control").toggle(
    function() { 
     $('.target').removeAttr("disabled"); 
     $(this).addClass("checked"); 
    }, function() { 
     $('.target').attr("disabled", true); 
     $(this).removeClass("checked"); 
    }); 

    $('input').keypress(function (e) { 
     if (e.which == 13) { 
      $('.control').click(); 
     } 
    }); 
}); 

JSFiddle

1

對於你以後的事情是否很不清楚,所以如果你能提供給我們更多的信息,那將是一件好事。

,而是形成我收集,這是你所追求的:

$(document).ready(function() { 
    $(".control").toggle(

    function() { 
     $('.target').removeAttr("disabled"); 
     $(this).addClass("checked"); 
    }, function() { 
     $('.target').attr("disabled", true); 
     $(this).removeClass("checked"); 
    }); 
}); 

此外,請確保您使用jQuery 1.7,因爲這是你的小提琴之內。

FIDDLE HERE