Tôi đang gặp một chút khó khăn khi cố gắng tìm ra cách để có được một phần nhất định của mã của tôi hoạt động.HTML hộp kiểm onclick được gọi là trong Javascript
<input type="checkbox" id="check_all_1" name="check_all_1" title="Select All" onclick="selectAll(document.wizard_form, this);">
<label for="check_all_1" onclick="toggleCheckbox('check_all_1'); return false;">Select All</label>
Đây là HTML của tôi hoạt động như mong muốn (nhấp vào văn bản sẽ nhấp vào hộp). Javascript cho nó là khá đơn giản:
function toggleCheckbox(id) {
document.getElementById(id).checked = !document.getElementById(id).checked;
}
Tuy nhiên tôi muốn onclick xảy ra cho đầu vào khi nhãn là những gì làm cho hộp kiểm được nhấp. Tại thời điểm này, các onClick js không hoạt động. Một gợi ý về cách làm điều này là gì? Tôi đã cố gắng thêm onclick của đầu vào vào onclick của nhãn nhưng điều đó không hoạt động.
Mọi đề xuất/giải pháp sẽ tuyệt vời.
Sử dụng 'thuộc tính for' là tốt như đưa đầu vào bên trong nhãn, nhưng nó không làm giảm đánh dấu một chút . 1 cho 'onchange' và suy nghĩ của chúng tôi người dùng bàn phím thấp :-) –
@Andy E - Theo lý thuyết có, trong thực tế không. IE 6 và IE 7 không xử lý các nhãn ngầm một cách chính xác (http://www.evotech.net/blog/2009/09/ie6ie7-implicit-label-bug/). Nhãn rõ ràng được ưa thích. –
Nếu đặt nhãn ở bên ngoài làm cho nhãn có thể tự động chuyển đổi thì bật/tắtCheckbox không cần nữa. Tuy nhiên selectAll là, nếu tôi thay thế toggleCheckbox (điều này) cho selectAll trong ví dụ của bạn nó không hoạt động chút nào. Tuy nhiên tôi thích có các nhãn ở bên ngoài và sử dụng onchange thay thế. – Craig