2014-09-11 4 views
1

Я пытаюсь сделать показ пункта 1 на определенном списке страниц и параграфе 2 на страницах, не упомянутых. Проблема в том, что я вижу пункт 2 на всех страницах.Else if with Javascript

Это не мой код Мне было предложено внести изменения в уже существующий код, и я не очень разбираюсь в JS, поэтому, пожалуйста, простите мое невежество. Любая помощь очень ценится и благодарит за чтение.

Код:

if ((querystring('category') == '1') 
    && (querystring('category') == '2') 
    && (querystring('category') == '3') 
    && (querystring('category') == '4') 
    ) 
{ 
    var productContent = $('div#catalogContainer').html(); 
    var textContent = "<p>Paragraph 1</p>" 
    $('div#catalogContainer').html(productContent + textContent); 


} 
else 
{ 
    var productContent = $('div#catalogContainer').html(); 
    var fullTextContent = "<p>Paragraph 2</p>" 
$('div#catalogContainer').html(productContent + fullTextContent); 
+0

Ваш вопрос пока неясен. Каков ваш вопрос на самом деле? Я не вижу здесь синтаксических проблем. – Raptor

+0

Извините, должен был уточнить. Я вижу пункт 2 на всех страницах. – user3371464

+0

, что зависит от того, какая 'querystring ('category')' возвращает. Пожалуйста, покажите функцию. – Raptor

ответ

2

Предполагая, что результат querystring('category') не меняется каждый раз, когда это называется, вы хотите использовать || вместо &&.

Ваш if статута в основном спрашивает, если все из этих вещей верны. Если querystring('category') одновременно равно '1', '2', '3' и '4', а затем показать абзац 1, в противном случае указывается параграф 2. Это может объяснить, почему пункт 2 всегда показан, поскольку одна вещь не может быть равна всем четырем из них на в то же время.

Если вы смените || вместо этого, вы спрашиваете, если querystring('category') равно по крайней мере, один из этих четырех вещей, вместо того, чтобы все четыре из них в то же время.

+0

хороший улов, я пропустил это тоже – Raptor

+0

@flowstoneknight Это сделал трюк, спасибо спасибо спасибо! – user3371464