我有一個這樣的形式:jQuery的複選框的選擇不能正常工作
<form action='' onsubmit='void(0)' class="mainform">
<label class="form3"><input type="checkbox"> One a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> two a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> Three a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> Four a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> Five a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> Six a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> Seven a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> eight a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 9 a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 10 a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 11 a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 12 a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 13 a fancy cross-browser styled checkbox</label>
<label class="form3"><input type="checkbox"> 14 a fancy cross-browser styled checkbox</label>
</form>
現在,我想這樣做。 當我檢查並取消選中框時,我正在更新數組'清單'。 如果選中該框,我將相應的數組值設置爲「yes」,如果未選中,我將其設置爲空白。
現在的問題是,值的設置只有當我取消選中複選框並重新進行檢查,其價值仍然未選中的作品一次,
我試圖做這樣的:
$(document).ready(function(){
$('.form3').each(function(i,e) {
if(checklist[i] == "")
{
$(this).find('input[type=checkbox]').attr('checked', false);
$(this).appendTo($('form'));
$(this).find('input[type=checkbox]').change(function() {
checklist[i]= "yes";
$(this).closest('label').toggleClass("checkselected", this.checked);
});
$(this).closest('label').removeClass("checkselected");
}
else
{
$(this).find('input[type=checkbox]').attr('checked', true);
$(this).find('input[type=checkbox]').change(function() {
checklist[i]= "";
$(this).closest('label').toggleClass("checkselected", this.checked);
});
$(this).closest('label').addClass("checkselected");
}
});
});
現在我知道,這是maynot做正確的方式,因爲我在做這個"$('.form3').each(function(i,e)"
裏面我怎樣才能使它即使mulltiple點擊相同的複選框工作。
感謝您的努力,詳細解釋。讓我告訴你我正在嘗試的是什麼。基本上我有這個複選框的列表。一旦用戶做出了一些選擇,我將它們的索引值存儲在一個數組中(也使用PHP Session來存儲跨頁面的值)。然後,如果用戶使用複選框重新訪問此頁面,我會重新排序複選框,以使所選的頁面顯示在頂部,然後顯示未選中的頁面。另外,我追加的課程是以不同顏色顯示選定的複選框。希望這些額外的信息可能有助於進一步提高這一點:) – ssdesign
我從來沒有真正做到過,但餅乾或會議是正確的方向。 –
因此,每當發生更改時,您都會執行類似於var checkedelements = $('。form3:checkbox:checked')的操作,然後在頁面再次加載時從Cookie中提取checkedelements,然後執行$ .each。 –