0
我有一個複選框的列表,我希望他們的內容切換時檢查。我用jQuery寫了它,但我想以某種方式優化我的代碼,而不必爲每個複選框編寫函數。多個複選框切換使用jquery
$(document).ready(function() {
$("#purpose-1").click(function() {
$("#purpose-detail-1").toggle(this.checked);
}).triggerHandler('click');
$("#purpose-2").click(function() {
$("#purpose-detail-2").toggle(this.checked);
}).triggerHandler('click');
$("#purpose-3").click(function() {
$("#purpose-detail-3").toggle(this.checked);
}).triggerHandler('click');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<input type="checkbox" id="purpose-1">Exhibition
<ul id="purpose-detail-1">
<li>
<div>Title:</div>
<div>
<input type="text">
</div>
</li>
<li>
<div>Opening Date:</div>
<div>
<input type="text">
</div>
</li>
</ul>
</li>
<li>
<input type="checkbox" id="purpose-2">Publication
<ul id="purpose-detail-2">
<li>
<div>Title:</div>
<div>
<input type="text">
</div>
</li>
</ul>
</li>
<li>
<input type="checkbox" id="purpose-3">Event
<ul id="purpose-detail-3">
<li>
<div>Title:</div>
<div>
<input type="text">
</div>
</li>
<li>
<div>Event Date:</div>
<div>
<input type="text">
</div>
</li>
<li>
<div>Event Time:</div>
<div>
<input type="text">
</div>
</li>
</ul>
</li>
</ul>
謝謝您的回答。我還有一個問題,如果'ul'不是'input'之後的下一個直接元素呢? – 2015-02-10 20:02:02
如果它在同一個元素中,可以使用'$(this).parent()。find('ul')...'查看更新的答案 – 2015-02-10 20:05:46