как я могу отфильтровать неопределенное от объекта - PullRequest
0 голосов
/ 19 апреля 2020

Я хотел создать MySQL Запрос, который фильтрует данные из MySQL. Но я испытываю проблему. Я написал для l oop, в котором я считаю элементы делений с jQuery. Я тоже нашел проблему в этой вещи.

Сначала вот моя функция.

function filterFunnel(filterid){
    let filterLists = $("#funnel-filters").children().filter(".filter");
    let query = `SELECT * FROM funnel WHERE `;
    let count = 0;
    for(i=0;i<Object.keys(filterLists).length; i++){
        let dom = filterLists[i];
        if(dom.value === "Select" || dom.value === ""){

        }else{
            if(count >= 1){
                query += ` AND ${dom.id} = ${dom.value}`;
            }else{
                query += `${dom.id} = ${dom.value} `
            }
            count += 1;
        }
    }
    console.log(query);
}

Когда я выполняю эту команду, я получаю ошибку, dom не определен, и я нашел, где это происходит из.

Если вы посмотрите на вторую функцию, которую я выполнил, она возвращает 2 неопределенных.

Теперь, когда я использую console.log () внутри l oop он работает, но не работает, когда я использую его вне его.

enter image description here

Я думаю, что asyn c функция решит эту проблему, но я не знаю, как это сделать. Я считаю, что проблема возникает только из-за переменной dom.

1 Ответ

0 голосов
/ 19 апреля 2020

Я исправил это, проверив, является ли ответ неопределенным, и если это так, то он вернет запрос. Вот что я сделал.

function filterFunnel(filterid){
    let filterLists = $("#funnel-filters").children().filter(".filter");
    let query = `SELECT * FROM funnel WHERE `;
    let count = 0;
    for(i=0;i<Object.keys(filterLists).length; i++){
        let dom = filterLists[i];
        if(dom === undefined){
            return query;
        }else{
            if(dom.value === "Select" || dom.value === ""){

            }else{
                if(count >= 1){
                    query += ` AND ${dom.id} = ${dom.value}`;
                }else{
                    query += `${dom.id} = ${dom.value} `
                }
                count += 1;
            }   
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...