2013-07-31 33 views
0

我編碼一種形式,得到的數值爲一些搜索過程中..我編碼爲用戶兩個文本字段給其中任何一個的輸入。但是其中只有一個可以啓用。用戶可以通過選中複選框來選擇該選項。默認情況下,某個字段應該啓用,當檢查框被選中時(最初啓用的那個)被禁用,而其他的被啓用,反之亦然,當該複選框未被選中時。在檢查一個輸入得到殘疾人和其他被啓用

這裏is小提琴:

http://jsfiddle.net/awBvq/224/

+0

修復鏈接,請向我們提供有關HTML和JavaScript在你的問題 –

+0

哪裏是你的問題/什麼是你的問題?我們**不會爲您編碼**。 – ComFreek

+0

好的,我看到你的小提琴,但你的描述和你的小提琴不匹配。你的小提琴啓用了兩個字段。你希望發生什麼? – pjmorse

回答

1

這將解決您的問題

HTM L:

<input type="text" name="" /> 
<input type="checkbox" name="" /> 
<input type="text" name="" disabled="'disabled'"/> 

JS:

$(':checkbox').change(function(){ 
    if ($(this).is(':checked')) { 
     $(this).prev().attr('disabled','disabled'); 
     $(this).next().removeAttr('disabled'); 
    } else { 
     $(this).next().attr('disabled','disabled'); 
     $(this).prev().removeAttr('disabled'); 

    } 
}); 
0

它本來可以做簡單的,但是這僅僅是一個暗示:

if($("#CheckBox").is(":checked")) 
{ 
    $("#Field1").attr("disabled","disabled"); 
    $("#Field2").removeAttr("disabled"); 
} 
else 
{ 
    $("#Field1").removeAttr("disabled"); 
    $("#Field2").attr("disabled","disabled"); 
} 
0

簡單的邏輯:

(1)通過默認禁用任何一個文本框。

(2)使用.prev().next()或,檢查是否有人被禁用。

(3)如果是這樣,啓用它並禁用其他人,反之亦然。

HTML:

<input type="text" name="" disabled/> <!--By default it is disabled--> 
<input type="checkbox" name="" /> 
<input type="text" name="" /> 

的Javascript:

$(':checkbox').change(function() { 
    if ($(this).prev().is(':disabled')) { 
     $(this).prev().removeAttr('disabled'); 
     $(this).next().attr('disabled', 'disabled'); 
    } else { 
     $(this).next().removeAttr('disabled'); 
     $(this).prev().attr('disabled', 'disabled'); 
    } 
}); 

入住這JSFiddle