[英]checkbox.checked always returning true inside onclick function
我無法解決這個看似簡單的問題。 我的JSP頁面中有一個復選框和一個與之關聯的onclick。 當我單擊復選框時,我需要在此onclick函數中檢查是否已選中還是未選中以知道要采取什么措施。 但是,始終會對其進行檢查! 我不知道為什么。 它幾乎像單擊動作一樣完成並標記為選中,然后再使用此功能。 但是,如果我做一個簡單的HTML示例頁面,它就可以正常工作並為.checked返回正確的值。 我試着刪除“ this”,只是從onclick調用ID復選框,結果相同。這是設置:
<label><input type="checkbox" onclick="selectEntireRange(this);"/> Select ALL Ranges</label>
這是JS:
function selectEntireRange(checkElement)
{
// if checked - remove check and display table rows normally
if(checkElement.checked)
{
//ALWAYS EXECUTES HERE!
checkElement.checked = false;
greyoutAllTableRows(false);
}
// if unchecked - mark 'checked' and grey out all table rows
else
{
checkElement.checked = true;
setAllCheckBoxes(false);
var selectedRangeField = document.getElementById('effRange');
selectedRangeField.value = '';
greyoutAllTableRows(true);
}
}
任何幫助都是極好的! 謝謝!
PS我不能為此使用jQuery!
怎么樣
onclick="selectEntireRange(this.checked)"
然后更改函數以詢問其是真還是假,0還是1或默認檢查值是多少。 不確定。
由於您設置了checkElement.checked = false;
因此出現了問題checkElement.checked = false;
在if / else塊中。 注釋\\刪除該行,它將起作用。 由於單擊時您將其重新設置為false,因此該復選框不會進入已檢查狀態,並且每次用戶單擊它時,由於checkElement.checked = false;
,該復選框不會被選中checkElement.checked = false;
線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.