[英]Comparing two array of object javascript and remove values that are not equal
[英]Javascript: comparing two values always not equal
我正在嘗試做一些事情,但是我正在努力解決一個愚蠢的bug,希望您能為我提供幫助。
如您在代碼中所見,我在服務器上有一些復選框,並為其附加了JavaScript函數。 此函數獲取兩個值(當前值和原始值)。 我的問題是,當該功能觸發的if
它總是得到第一款,從來沒有達到else子句,並沒有任何意義。
當我在代碼中使用很少的警報時,會發生以下情況:
情況1: 警報#1原始: false
當前:是警報#2 true
情況2: 警報#1原始: false
當前:錯誤警報#2 true
如您所見,無論我在第二次警報中得到了什么。
希望我能解釋我的問題。
<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>
originalValue
始終是一個字符串。 value
是布爾值。 因此,它們永遠不會相等,但是當您將它們打印出來時,它們看起來是相同的(因為此時它們都被轉換為相同的字符串值)。
您可以通過多種方式解決此問題。 一種簡單的方法是先將兩個都轉換為字符串:
if (String(value) != String(originalValue))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.