Ich habe eine große funktionierende Funktion gesetzt, um zu prüfen, ob jemand auf ein Kontrollkästchen auf meiner Seite klickt und eine Menge Dinge tut. Der Container, in dem sich das Kontrollkästchen befindet, hat daneben auch ein Miniaturbild, und ich möchte versuchen, einen Weg zu finden, mit dem ich die gleichen Funktionen nachahmen kann, wenn ich auf das eigentliche Kontrollkästchen klicke, wenn ich auf das Bild klicke. Es sollte genau das gleiche wie das Kontrollkästchen wechseln, es auswählen und alle anderen Aktionen zu tun, dass es jetzt tut:jquery mimic checkbox mit einem Bild überprüfen und vorhandene checkbox Funktionen
Hier ist meine aktuellen jQuery-Code für die Funktion Checkbox klicken:
// Checkbox Actions - If a Checkbox is checked or not
$(":checkbox").click(function() {
var checkedState = $(this).is(':checked');
var product = $(this).attr("name");
var newName = '.' + product ;
var productImg = '.' + product + '-img';
// Check List Count and Show/Hide Sections
var currentCount = countChecked();
if (currentCount == 0) {
$(newName).css("display", "none");
$("#noProducts").delay(1).fadeIn(350);
$("#listContainer").removeClass("listContainerProducts");
$("#haveProducts").css("display", "none");
checkIfScrollable();
}
// Hide the No Products Container if List Count is Greated than 0
if (currentCount > 0) {
$("#noProducts").css("display", "none");
$("#haveProducts").css("display", "");
checkIfScrollable();
}
// Check the checkbox state and select/show correct items in the List if selected
if (checkedState == true) {
var productName = $(this).attr("title");
var productClassName = $(this).attr("name");
$("#selectedProductsList").append("<li class=\"productList " + productClassName + "\"><p class=\"removeIcon\"><img src=\"images/remove-icon.png\" alt=\"Remove Product\" /></p><span class=\"productName\">"+ productName +"</span></li>");
$(".listBoxContainer").fadeIn(350);
// Change the Image Wrapper to be Selected if checked - Green Border
$(productImg).addClass("imageBoxTopSelected");
$("#listContainer").addClass("listContainerProducts");
$(newName).css("background", "#FFFFFF");
}
// If checkbox is not checked
if (checkedState == false) {
$(newName).fadeOut(500, function() { $(this).remove()});
$(productImg).removeClass("imageBoxTopSelected");
checkIfScrollable();
}
});
ich weiß, dass meine jquery ist nicht stromlinienförmig (jquery nobe), aber es tut, was ich brauche.
Nur müssen Sie eine Möglichkeit, das Kontrollkästchen mit dem Klick auf das Bild nachzuahmen.
Irgendwelche Ideen? Danke
Sie müssen diesen Code auf einzelne vereinfachen nur die Frage, die du stellst, alle anderen nicht relevanten Sachen loswerden. –
@Marcus Whybrow: Ich fand das nicht so wichtig, da ich alle Aktionen, die jetzt in diesem Klick auf ein Kontrollkästchen auf der Seite passieren, wiederverwenden möchte. Es gibt keinen Abschnitt, den ich entfernen kann. – estern