在jquery ui自动完成中允许null

时间:2017-04-04 14:11:34

标签: javascript jquery mysql jquery-ui

我目前收到此错误。

未捕获的TypeError:无法读取null 的属性'label'

Thread.sleep(5000);

这行代码是jquery-ui中的错误。

我知道导致错误的是空值。 我怎么能允许它或者如果不能阻止空值作为结果之一返回?

这是mysql查询:

return $.extend( {}, item, {
            label: item.label || item.value,
            value: item.value || item.label
        } );

2 个答案:

答案 0 :(得分:0)

尝试使用Ternary operator

return $.extend( {}, item, {
            label: item.label ? item.label : item.value,
            value: item.value ? item.value : item.label
        } );

答案 1 :(得分:0)

我认为在查询中将“null”转换为空字符串会更好,例如:

更新:您还需要更改循环。

$get_company = "SELECT DISTINCT NVL(companies.company, ''), NVL(companies.company_id, 0)
        FROM companies
        INNER JOIN target_details
        ON companies.company_id = target_details.company_id
        WHERE companies.company LIKE \"%$company%\"
        LIMIT 1500 OFFSET 10
        ";
        if($run_company = $conn->query($get_company)){
            while($row = $run_company->fetch_assoc()){
                $data_row["label"] = $row['company'].$row['company'];
                $data_row["value"] = $row['company'].$row['company_id'];
                array_push($data, $data_row);
            }

echo json_encode($data);