簡體   English   中英

在純Javascript中獲取該復選框的ID或復選框的價值onclick

[英]Get ID or value of a checkbox onclick of that checkbox in pure Javascript

單擊復選框后,我正在為我的公司編寫腳本:

  • 觸發函數OptionSelected()
  • 獲取該復選框的ID
  • 根據該ID執行按位運算

或者,最好:

  • 觸發函數OptionSelected()
  • 獲取分配給該復選框的整數( <input="checkbox" value="2" ,獲取2
  • 使用該value執行按位運算。

為了調試,我讓代碼返回一個警報,里面有值。 我還沒有寫按位運算部分。

這是我的js代碼:

function OptionsSelected(e)
{
    alert(e.target.id);
}

和它引用的示例復選框:

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(e)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

當我在運行時中單擊該框時,出現以下javascript錯誤消息:

在此處輸入圖片說明

有人對此有解決辦法嗎? 我想這很簡單,所以除了提供您的修復程序之外,您還能解釋為什么修復程序有效嗎?

如果您的解決方案通過直接拉取按位value代替實際ID節省了我的時間,則可獲贈積分。

注意:我不能使用GetElementByID方法,因為我將獲取 IDvalue ,而不用它執行操作。

感謝大家!

使用onclick屬性調用腳本時,就是您自己調用該函數。 因此,在這種情況下,您要傳遞從未定義的名為e的變量。

相反,您可以將引用傳遞給您單擊的復選框:

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(this)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

OptionsSelected您將執行以下操作:

function OptionsSelected(me)
{
    alert(me.id);
}

調用函數OptionsSelected時未定義變量e 要解決此問題,您可以采用湯姆的解決方案。

要么

查看您附帶的錯誤消息,我想您已在IE上測試了代碼。 僅供參考,IE不支持'target'屬性,請使用srcElement 所以你可以做這樣的事情:

在html中,

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(window.event)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

在javascript中,

function OptionsSelected(e)
{
   alert((e.target || e.srcElement).value);
}

使其可以在所有瀏覽器上使用。

暫無
暫無

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

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