Оператор If, который создает полный результат

#jquery

#jquery

Вопрос:

Я работаю над этим проектом, где есть 8 вариантов выбора. Если пользователь выбирает параметры в этой единственной области выбора, она заполняется и создает ссылку на внешний вид магазина. Все работает отлично, все выбранные значения имеют правильное значение, ссылка создается. Но он не переходит по ссылке (smeh). Вот мой код jQuery. Я почти уверен, что это где-то так, как я это смоделировал.

 $('#tf-bundles input[type="submit"]').click(function() {
    if ($('#tf-key-sel .quantity').val() == "0" amp;amp; $('#tf-key-sel .padType').val == "0") {

    } else {
        tfkeyboardqua = $('#tf-key-sel .quantity').val();
        tfkeyboardpad = $('#tf-key-sel .padType').val();
        keyboardcombine = 'ProductCode='   tfkeyboardpad   'amp;Qty.'   tfkeyboardpad   '='   tfkeyboardqua;
    };
    if ($('#tf-case-sel .quantity').val() == "0" amp;amp; $('#tf-case-sel .padType').val == "0" amp;amp; $('#tf-case-sel .padColor').val == "0") {

    } else {
        tfcasesqua = $('#tf-case-sel .quantity').val();
        tfcasescolor = $('#tf-case-sel .padColor').val();
        tfcasespad = $('#tf-case-sel .padType').val();
        casecombine = 'ProductCode='   tfcasespad   '-'   tfcasescolor   'amp;Qty.'   tfcasespad   '='   tfcasesqua;
    };
    if ($('#tf-case-sel .quantity').val() == "0" amp;amp; $('#tf-case-sel .padType').val == "0" amp;amp; $('#tf-case-sel .padColor').val == "0") {

    } else {
        tfcomboqua = $('#tf-key-case-sel .quantity').val();
        tfcombopad = $('#tf-key-case-sel .padColor').val();
        tfcombocolor = $('#tf-key-case-sel .padType').val();
        combocombine = 'ProductCode='   tfkeyboardpad   '-'   tfcombocolor   'amp;Qty.'   tfkeyboardpad   '='   tfkeyboardqua;
    };
    if (keyboardcombine != "" amp;amp; casecombine == "" amp;amp; combocombine == "") {
        window.location.href = solidLink   keyboardcombine;
    }
});
  

Вот один набор HTML

 <ul class="selection">
    <li>
        Quantity
        <select class="quantity">
            <option value="0">How Many</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
        </select>
    </li>
    <li class="question">
        <img src="images/circle-q.png" alt="q" class="question ">Select Your iPad
        <select class="padType">
            <option value="0">Choose your iPad</option>
            <option value="TF-8483-BK">iPad 1</option>
            <option value="TF-8483-BK">iPad 2</option>
            <option value="TF-8483-BK">iPad 3</option>
            <option value="TF-8483-BK">iPad 4</option>
            <option value="TF-2731-BK">iPad mini</option>
            <option value="TF-2772-BK">iPad Air</option>
        </select>
    </li>
    <li>
        Select Color
        <select class="padColor">
            <option value="0">Choose your color</option>
            <option value="BK">Black</option>
            <option value="BL">Blue</option>
            <option value="GY">Light Grey</option>
            <option value="RD">Red</option>
        </select>
    </li>
</ul>
  

Часть моего jQuery, которая, как я считаю, является проблемой, приведена ниже :

 if (keyboardcombine != "" amp;amp; casecombine == "" amp;amp; combocombine == "") {
    window.location.href = solidLink keyboardcombine;
}
  

Комментарии:

1. Ваше окончательное условие гласит «если keyboardcombine это не пустая строка, и casecombine и combocombine обе являются пустыми строками, то перенаправьте окно», и я вижу только одно место, где это было бы правдой, которое находится примерно в строке 7, и это предполагает, что вы установили casecombine и combocombine для пустых строк где-то перед этим кодом. Я также заметил, что вы использовали несколько $(...).val == ... , которые должны быть $(...).val() == ... . Я бы предложил использовать инструменты отладки Chrome ( console.log и друзья), чтобы указать ожидаемые значения в вашем конечном условии и работать в обратном направлении оттуда.

2. Вы уверены, что код действительно находится внутри оператора if ближе к концу?

3. Итак, выполните последний оператор of, как только он получит значение