2012-06-21 47 views
1

我有2個單選按鈕和2個輸入字段。我想將一個單選按鈕與一個輸入字段相關聯,因此只有所選單選按鈕的輸入字段已啓用,而其他字段已禁用。在單選按鈕上啓用輸入字段選中

我的HTML標記是:

<div> 
    <input type="radio" checked="checked" name="co" data-for="s" /> 
    <input type="text" id="s" /> 
    <br /><br /> 

    <input type="radio" name="co" data-for="u"/> 
    <input type="text" id="u" disabled="disabled" /> 
</div> 

所以目前第一個單選按鈕被選中,其輸入字段被啓用。我怎樣才能做到這一點的jQuery代碼?

編輯

我嘗試這樣做:

$("input[type=radio][name=co]").bind({ 
    change: function() { 
    if ($(this).attr("checked") == "checked") 
     $("#" + $(this).attr("data-for")).removeAttr("disabled"); 
    else 
     $("#" + $(this).attr("data-for")).attr("disabled", "disabled"); 
    } 
}); 
+0

[?你嘗試過什麼(http://whathaveyoutried.com) – sachleen

回答

3

試試這個 - http://jsfiddle.net/DMasH/

$("input:radio").on("click", function() { 
    $("input:text").attr("disabled", true); 

    $(this).next("input").attr("disabled", false) 
}); 
0
$("input[type='radio']").click(function() { 
    $("input[type='text']").attr("disabled", "disabled"); 
    if ($(this).next().attr("disabled") == "disabled") $(this).next().removeAttr("disabled"); 
    else $(this).next().attr("disabled", "disabled"); 
}); 

禁用所有的框,然後只啓用下一個。

http://jsfiddle.net/reygonzales/sJZD7/

0

解決方案 - http://jsfiddle.net/4uQqE/2/

$('input[data-for]').change(function() { 
target = $('#'+$(this).data('for')); 
$('input[type="text"]').attr('disabled','disabled'); 
if($(this).is(":checked")) { 
    target.removeAttr('disabled'); 
}});​ 
相關問題