#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, как только он получит значение