簡體   English   中英

HTML復選框onclick在Javascript中調用

[英]HTML checkbox onclick called in 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>

這是我的HTML工作原理(單擊文本將單擊該框)。 它的javascript非常簡單:

function toggleCheckbox(id) {
    document.getElementById(id).checked = !document.getElementById(id).checked;
}

但是,當標簽是單擊復選框的時候,我希望輸入發生onclick。 在這個當前時間onClick js不會去。 關於如何做到這一點的一個建議是什么? 我試圖將輸入的onclick添加到標簽的onclick,但這不起作用。

任何建議/解決方案都會很精彩。

如何將checkbox 放入 label ,使標簽自動“點擊敏感”復選框,並給復選框一個onchange事件?

<label ..... ><input type="checkbox" onchange="toggleCheckbox(this)" .....> 

function toggleCheckbox(element)
 {
   element.checked = !element.checked;
 }

這將另外捕獲用戶使用鍵盤切換復選框,某些onclick不會。

沒有onclick的標簽將按預期運行。 它改變了輸入。 你真正想要的是當你點擊一個標簽時執行selectAll() ,對吧? 然后只在標簽上添加select all all。 或者將輸入包裝到標簽中,並僅為標簽分配onclick

<label for="check_all_1" onclick="selectAll(document.wizard_form, this);">
  <input type="checkbox" id="check_all_1" name="check_all_1" title="Select All">
  Select All
</label>

jQuery有一個可以做到這一點的功能:

  1. 在你的頭腦中包含以下腳本:

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> 

    (或者只是在線下載jQuery.js文件並在本地包含它)

  2. 單擊輸入時,使用此腳本切換復選框:

     var toggle = false; $("#INPUTNAMEHERE").click(function() { $("input[type=checkbox]").attr("checked",!toggle); toggle = !toggle; }); 

如果我明白你想要做什么,那應該做你想要的。

您還可以從HTML中提取事件代碼,如下所示:

<input type="checkbox" id="check_all_1" name="check_all_1" title="Select All" />
<label for="check_all_1">Select All</label>

<script>
function selectAll(frmElement, chkElement) {
    // ...
}
document.getElementById("check_all_1").onclick = function() {
    selectAll(document.wizard_form, this);
}
</script>

暫無
暫無

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

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