0

いくつかの動的ボックスがオンになっている Web サイトがあります。15 秒ごとに、私の JavaScript はいくつかの ajax リクエストを起動し、ページに json 応答を出力します。私の問題は、チェックボックスの切り替えに関するものです。

値をチェックする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>
4

2 に答える 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>
于 2013-09-23T20:45:50.953 に答える
0

親でクリックイベントをキャプチャしてみてください-

var onchange_checkbox = ($('.onchange :checkbox')).iphoneStyle();
onchange_checkbox.parent()[0].click(function(e){Update();});
于 2014-02-02T16:29:59.257 に答える