簡體   English   中英

如果選中此復選框,則獲取下一個輸入[文本]

[英]If checkbox is checked, get the next input[text]

我正在嘗試('.hidden-textbox').css('visibility', 'visible')作為被checked輸入。 例如,問題1,問題4和問題5 輸入文本框(.hidden-textbox)應設置為visible 如何在jQuery和javascript中做到這一點?

我有一些這樣的代碼:

<style>
.hidden-textbox {
    visibility: hidden;
}
</style>

<div class="question">Question 1: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div>
<div class="question">Question 2: <input type="checkbox"><input type="text" class="hidden-textbox"></div>
<div class="question">Question 3: <input type="checkbox"><input type="text" class="hidden-textbox"></div>
<div class="question">Question 4: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div>
<div class="question">Question 5: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div>

可以僅使用CSS完成

在此代碼段中,它將選中一個復選框,然后選中該復選框,然后將其同級並設置可見性

input[type='checkbox']:checked ~ .hidden-textbox{
  visibility:visible;
}

 .hidden-textbox { visibility: hidden; } input[type='checkbox']:checked~.hidden-textbox { visibility: visible; } 
 <div class="question">Question 1: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 2: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 3: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 4: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 5: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> 

選擇選中的復選框

可以通過在Javascript中添加:checked到選擇器中來進行過濾,以過濾選擇中的選中復選框,如下所示:

var checkedCheckboxes = $("checkbox:checked");

您可以結合使用:checked和相鄰的兄弟選擇器來完成目標。 因此:

 .hidden-textbox { visibility: hidden; } input[type='checkbox']:checked + input { visibility: visible; } 
 <div class="question">Question 1: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 2: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 3: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 4: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 5: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> 

要檢查復選框是否被選中,您需要$(this).prop('checked')== true

 $('input:checkbox').each(function(){ if($(this).prop('checked')== true) { $(this).next('input').val('test'); $(this).next('input').show(); } else { $(this).next('input').hide(); } }); $('input:checkbox').on('click', function(){ if($(this).prop('checked')== true) { $(this).next('input').val('test'); $(this).next('input').show(); } else { $(this).next('input').hide(); } }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="question">Question 1: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 2: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 3: <input type="checkbox"><input type="text" class="hidden-textbox"></div> <div class="question">Question 4: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> <div class="question">Question 5: <input type="checkbox" checked><input type="text" class="hidden-textbox"></div> 

通過jquery,您還可以執行以下操作:

$('input[type="checkbox"]').change(function() {
  $(this).next().find('input').toggle()
})

這是一個例子: https : //jsfiddle.net/99u4mwee/2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM