Итак, у меня есть несколько ложных флажков (чтобы я мог их стилизовать), которые работают с jQuery, чтобы работать как проверенные или не проверенные.В моем документе есть несколько ложных флажков, и для каждого из них у меня есть функция щелчка:
var productInterest = [];
productInterest[0] = false;
productInterest[1] = false;
productInterest[2] = false;
// here is one function of the three:
$('#productOne').click(function() {
if (productInterest[0] == false) {
$(this).addClass("checkboxChecked");
productInterest[0] = true;
} else {
$(this).removeClass("checkboxChecked");
productInterest[0] = false;
}
});
Кажется, проблема в том, что в операторе if есть ошибка, потому что он проверит,но не снимайте флажок.Другими словами, он добавит класс, но переменная не изменится, поэтому он все еще считает, что проверен.У кого-нибудь есть идеи?Спасибо за вашу помощь.
ОБНОВЛЕНИЕ: Итак, мне нужно показать вам весь мой код, потому что он работает так, как я его предоставил (спасибо комментаторам за помощь в понимании этого) ...просто не так, как на самом деле он используется на моем сайте.поэтому ниже, пожалуйста, найдите код целиком.
Все должно происходить в одной функции, потому что пользовательский интерфейс и данные для каждого флажка должны обновляться сразу.Итак, вот полная функция:
$('input[name=silkInterest]').click(function() { // they all have the same name
var silkInterest = [];
silkInterest[0] = false;
silkInterest[1] = false;
silkInterest[2] = false;
if ($(this).is('#silkSilk')) { // function stops working because the .is()
if (silkInterest[0] == false) {
$(this).addClass("checkboxChecked");
silkInterest[0] = true;
} else {
$(this).removeClass("checkboxChecked");
silkInterest[0] = false;
}
alert(silkInterest[0]);
}
if ($(this).is('#silkAlmond')) {
if (silkInterest[1] == false) {
$(this).addClass("checkboxChecked");
silkInterest[1] = true;
} else {
$(this).removeClass("checkboxChecked");
silkInterest[1] = false;
}
}
if ($(this).is('#silkCoconut')) {
if (silkInterest[2] == false) {
$(this).addClass("checkboxChecked");
silkInterest[2] = true;
} else {
$(this).removeClass("checkboxChecked");
silkInterest[2] = false;
}
}
var silkInterestString = silkInterest.toString();
$('input[name=silkInterestAnswer]').val(silkInterestString);
// This last bit puts the code into a hidden field so I can capture it with php.
});