2014-10-02 122 views
2

我想根據是否選中複選框來更改文本框文本。因此,如果用戶選中複選框,則文本框會顯示一些文本,如果用戶未選中複選框,則會顯示一些不同的文本。如果複選框被選中,則更改文本框文本

HTML:

<input id="check" type="checkbox" /> 
<input id="txt" type="text" value="aaaa" /> 

的jQuery:

$('input[type=checkbox]').each(function() { 
    if (!$('input[type=checkbox]').is(':checked')) { 
     $('#txt').val('checked'); 
    } 
    else{ 
     $('#txt').val('unchecked'); 
    } 
}); 

JSFiddle Demo

+3

你沒有約束任何事件。綁定到複選框更改事件。 – artm 2014-10-02 23:30:01

回答

3

儘量結合的Click事件:

$('input[type=checkbox]').click(function() { 
    if ($('input[type=checkbox]').is(':checked')) { 
     $('#txt').val('checked'); 
    } 
    else{ 
     $('#txt').val('unchecked'); 
    } 
}); 
+1

!從第一個如果需要刪除。 – artm 2014-10-02 23:31:50

+0

已刪除!按照藝術 – 2017-07-21 05:06:45

2

它應該是這樣的

$(document).ready(function() { 

    $('input[type=checkbox]').click(function(){ 
     if ($('input[type=checkbox]').is(':checked')) { 
     $('#txt').val('checked'); 
     } 
     else{ 
     $('#txt').val('unchecked'); 
     } 
    }); 

}); 

檢查Demo

0

我認爲最好的辦法是使用.change()this.checked像這樣:

<input id="check" type="checkbox" /> 
<input id="txt" type="text" value="unchecked" /> 


$('#check').change(function(){ 
    var checkChange = this.checked ? 'checked' : 'unchecked'; 
    $('#txt').val(checkChange); 
}); 

JSFiddle

相關問題