Javascript 在jquery ui自动完成中允许null

Javascript 在jquery ui自动完成中允许null,javascript,jquery,mysql,jquery-ui,Javascript,Jquery,Mysql,Jquery Ui,我目前收到这个错误 未捕获的TypeError:无法读取null的属性“label” 这行代码是jQueryUI中出现错误的代码 我知道导致错误的是空值。 我如何允许它或者如果不允许的话,如何防止null值作为结果之一返回 下面是mysql查询: $get_company = "SELECT DISTINCT companies.company,companies.company_id FROM companies INNER JOIN target_detai

我目前收到这个错误

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

这行代码是jQueryUI中出现错误的代码

我知道导致错误的是空值。 我如何允许它或者如果不允许的话,如何防止null值作为结果之一返回

下面是mysql查询:

 $get_company = "SELECT DISTINCT companies.company,companies.company_id
        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['company'].$row['company_id'];
            }

echo json_encode($data);        
尝试使用:

我认为最好在查询中将空值“转换”为空字符串,如:

更新:您还需要更改循环

$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);

您可以通过选中
(item.label==null)来设置条件?“空”:项。分配前标记。项的确切含义是什么?这似乎是
null
。我不太清楚。我只是在使用这个jquery-autcomplete库。它给我提供了jquery-ui.js中的错误,而jquery-ui.js在我的项目文件夹中不存在。如何生成
?您从何处获得它?@Qirel每次触发jquery自动完成功能。我是否应该在jquery ui.js中执行此操作?您还必须将代码更改为在
$data
数组中添加记录,请参阅我的更新答案,请。尝试将限制降低到500以验证这是否只是一个缓慢的服务器响应。我仍然没有得到结果。您的json应该包含
label/value
属性,我再次更新了我的代码。可能没有必要使用
NVL
。我应该删除NVL吗?是的,它永远不能为空
return $.extend( {}, item, {
            label: item.label ? item.label : item.value,
            value: item.value ? item.value : item.label
        } );
$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);