У меня есть эта функция:
function CompareProduct(product_id) {
$(document).ready(function() {
$('#' + product_id).on('change', function() {
if ($(this).is(':checked')) {
CheckboxCompare.Add(product_id);
$('#' + product_id).attr("disabled", true);
} else if (!$(this).is(':checked')) {
compare_product_remove(product_id);
$('#' + product_id).attr("disabled", true);
$('.compare-product_' + product_id).fadeOut();
}
});
});
}
Отредактировано ... HTML:
{% for product in products %}
<input class="compare-checkbox" autocomplete="off" type="checkbox" name="{{ product.product_id }}" value="1" id="{{ product.product_id }}" data-toggle="tooltip" title="{{ button_compare }}" onclick="CompareProduct('{{ product.product_id }}');" />
{% endfor %}
, которая отлично работает в Chrome, Mozilla, но не работает в Safari.В браузере Safari при первом щелчке мыши выбирается только чекбокс ... когда я нажимаю второй раз, флажок снимается, и функция работает.И когда я нажимаю снова, функция также работает.Поэтому первый щелчок флажка в Safari не работает.Как решить эту проблему?
РЕДАКТИРОВАНИЕ: Я нашел решение для своей проблемы ... в браузере Safari также работает нормально:
function CompareProduct(product_id) {
var checkbox = document.getElementById(product_id);
if (checkbox.checked == true) {
CheckboxCompare.Add(product_id);
} else if (checkbox.checked != true){
compare_product_remove(product_id);
}
}