2015-06-29 11 views
3

Я создаю свой собственный инструмент запроса, где я хочу, чтобы пользователи могли выбрать свое собственное поле и атрибут и указать, нужно ли они искать дополнительные параметры, такие как:Как добавить дополнительные условия в оператор if?

('State' === 'California') && ('City' === 'Los Angeles') 

или

('State' === 'California') || ('City' === 'Los Angeles') 

или

(('State' === 'California') && ('City' === 'Los Angeles')) || (('State' === 'Oregon') && ('City' === 'Portland')) 

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

if(csvStore.getValue(item, $('#fieldsList option:selected').val()) === currentQuery) 

{parsing code} 

Однако я хотел бы пользователю добавить больше условными по требованию щелкните и удерживайте кнопку, то код превращается в

if ((csvStore.getValue(item, $('#fieldsList option:selected').val()) === currentQuery) && (csvStore.getValue(item, $('#fieldsList option:selected').val()) === currentQuery)) 

{parsing code} 

Но, насколько я знаю, вы не можете добавлять строки кода, как вы могут ли строки или переменные так, как бы я решил решить эту проблему?

+0

Вы пытались добавить предпочтительные критерии для массива, и они запрашивают и перебирают его для извлечения данных из БД? – Tatarin

+0

Что-то вроде 'var v; if ((v = foo()) === 1 || v === 2); ' –

ответ

1

Нажмите на выбранные значения в массиве и проведите через него. Внутри цикла проверьте состояние.

var fields = new Array(); 

$("#fieldsList").each(function(){ 
    fields.push($('#fieldsList option:selected').val()); 
}); 
for (var i = 0; i <= fields.length; i++) { 
     if(csvStore.getValue(item, fields[i]) === currentQuery){ 
      // {parsing code} 
     } 
} 
Смежные вопросы