У меня есть веб-сайт с несколькими динамическими ящиками. Каждые 15 секунд мой javascript запускает некоторые ajax-запросы, а затем выводит ответы json на странице, которая отлично работает. Моя проблема связана с моей функцией checkbox toggle.
У меня было событие on change, связанное с php-страницей, которое проверит значение, и если его значение 1 изменится на 0 и если 0 изменится на 1 (это контролирует установленное флажком значение).
Моя проблема заключается в том, когда я меняю его на другое окно... он будет через 15 секунд обновляться и переходить в состояние, в которое я его изменяю... но это вызовет событие onchange, и я получаю цикл.
Мне нужно использовать событие onClick, чтобы изменять его только при щелчке по нему вручную, а не при автоматическом изменении сценария.
Как это сделать, поскольку onClick не работает:/
<script type="text/javascript" charset="utf-8">
$(window).load(function() {
$('.on_off :checkbox').iphoneStyle();
$('.disabled :checkbox').iphoneStyle();
$('.css_sized_container :checkbox').iphoneStyle({
resizeContainer: false,
resizeHandle: false
});
$('.long_tiny :checkbox').iphoneStyle({
checkedLabel: 'Very Long Text',
uncheckedLabel: 'Tiny'
});
var onchange_checkbox = ($('.onchange :checkbox')).iphoneStyle({
onClick: function(elem, value) {
Update();
}
});
function Update(){
$( "#result" ).load( "change.php");
}
</script>
Похоже, есть пара проблем с опубликованным скриптом. Не могли бы вы увидеть, помогает ли это?
<script charset="utf-8" type="text/javascript">
$(window).load(function() {
$('.on_off:checkbox').iphoneStyle();
$('.disabled:checkbox').iphoneStyle();
$('.css_sized_container:checkbox').iphoneStyle({
resizeContainer: false,
resizeHandle: false
});
$('.long_tiny:checkbox').iphoneStyle({
checkedLabel: 'Very Long Text',
uncheckedLabel: 'Tiny'
});
var onchange_checkbox = ($('.onchange:checkbox')).iphoneStyle({
onClick: function(elem, value) {
Update();
}
});
});
function Update(){
$("#result").load("change.php");
}
</script>
попробуйте захватить событие click на родительском -
var onchange_checkbox = ($('.onchange :checkbox')).iphoneStyle();
onchange_checkbox.parent()[0].click(function(e){Update();});