lundi 6 juillet 2020

Checkbox value will not be changed when checked

I have created a custom checkbox, it works very well and design looks good too and I would like to keep this design. My problem is, when I click on the checkbox, checkbox will be checked but the value stays exactly as it was. I tried a lot to solve the problem, but unfortunately it was unsuccessful.

Does anyone know what could be the solution?

Thanks in advance!

JS:

function success(data) {
    var rows;
    if (data != null) {
        $.each(data, function (i, item) {

            rows += "<tr>"
                + "<td>" +
                "<label class='checkbox-container' id ='checkbox-container'>" +
                item.Name +
                `<input type='checkbox' class='myCheckbox' id = 'myCheckbox' value='${item.IsActive}' ${item.IsActive  ? 'checked' : ''} />` +
                "<span class='checkmark'>"+"</span>"+
                "</label >" +
                "</td>"     
        });
        $('#myTable tbody').append(rows);
    }
    else {

        alert("Something went wrong");
    }
}

Css:

.checkbox-container {
    display: block;
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: normal;
}

 /* Hide the browser's default checkbox */
.checkbox-container input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
}

/* On mouse-over, add a grey background color */
.checkbox-container:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.checkbox-container input:checked ~ .checkmark {
    background-color: #40637E;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.checkbox-container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.checkbox-container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 7px;
    height: 12px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}



Aucun commentaire:

Enregistrer un commentaire