如果变量不是,则逻辑表现为变量为NULL

时间:2014-06-03 13:03:49

标签: javascript jquery kendo-ui kendo-grid bind

我遇到了一个非常奇怪的错误。我有:

externalContactsGrid.bind('dataBound', function(e) {
    contactId = null;
    if (typeof e.sender._data[0] === 'undefined') {
        contactId = null;
    } else {
        contactId = e.sender._data[0].contactId
    }
    console.log(contactId)
    if (contactId === false) {
        alert(contactId)
        $('#externalContactsGrid .k-grid-content table').html('<tr role="row" class="no-results"><td role="gridcell">No results found</td></tr>');
    }
})

console.log(contactId)点上,contactId是例如2495,但是当它点击它时它是不执行的,因为显然contactId是假的(!)。可能导致这种情况的原因是什么?


奇怪的是。是警报没有发生但是后面的行($(&#39; #externalCon ....)确实如此。

该函数只执行一次,因为我会看到控制台日志两次(即2495,然后是null)。

2 个答案:

答案 0 :(得分:0)

你缺少一个分号(实际上是一些)。此外,我认为您应该使用等号运算符时使用身份运算符。如果要比较值,请使用相等运算符。

http://www.w3schools.com/js/js_comparisons.asp

答案 1 :(得分:0)

这似乎只有在我使用Jquery的.html()方法时才会发生。我改为使用.append(),问题不再发生。