чекбокс onclick событие jquery не работает

0

У меня есть веб-сайт с несколькими динамическими ящиками. Каждые 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>
Теги:

2 ответа

0
Лучший ответ

Похоже, есть пара проблем с опубликованным скриптом. Не могли бы вы увидеть, помогает ли это?

<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>
  • 0
    Сценарий, который я разместил, является лишь частью моего полного кода, поэтому скобки заканчиваются правильно. Он не будет работать с Click, возможно, из-за плагина iphone style, который у меня есть ... кажется, он работает только при изменении. но потом я застрял в петле
  • 0
    Я думал об изменениях, я бы получил статус флажка и отправил его в свой change.php с помощью ajax ... если значение в базе данных = значение, отправленное с помощью ajax, то оставить его как есть ... иначе изменить базу данных который затем обновит страницу ... затем он снова вызовет событие onchange, но на этот раз поле == база данных, так что это закончится .... Как я могу получить статус?
0

попробуйте захватить событие click на родительском -

var onchange_checkbox = ($('.onchange :checkbox')).iphoneStyle();
onchange_checkbox.parent()[0].click(function(e){Update();});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню