我試圖做一些事情,但我正在努力與一個愚蠢的錯誤,希望你能幫助我。Javascript:比較兩個值總是不相等
正如你可以在我的代碼中看到的,我在服務器上有一個複選框,並附加了一個JavaScript函數。該函數獲取兩個值(當前值和原始值)。 我的問題是,當這個函數在if
上觸發時,它總是會到達第一個子句,並且永遠不會到達else子句,這沒有任何意義。
當我用我的代碼幾警報,這是發生了什麼:
的情況下1:警報#1原:false
電流:真警報#2true
的情況下2:警報#1原:false
電流:假警報#2true
正如你所看到的,不管我在第二次警報中獲得真實。
希望我設法解釋我的問題。
<asp:CheckBox id="chkIsCustomQuantity" originalvalue="false" runat="server" onclick="checkChange(this.checked, this.attributes['originalvalue'].value" />
<script type="text/javascript" language="javascript">
function checkChange(value, originalValue) {
//i added this for debugging purpose
alert('original: ' + originalValue + ' ' + 'current: ' + value);
alert(value != originalValue);
if (value != originalValue) {
// always happens
}
else {
// never happens
}
}
</script>
使用console.log和/或您的調試器來檢查變量值。相信我,你永遠不會希望在那之後回到alert()。 – hugomg 2012-02-19 21:37:38
除非你是一個13歲的女孩,否則「u」不是一個單詞。請使用適當的英語。 – 2012-02-19 21:37:45