0

我有一个网站,上面有一些动态框。每隔 15 秒,我的 javascript 会触发一些 ajax 请求,然后在页面上输出 json 回复,效果很好。我的问题是我的复选框切换的东西。

我将 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>
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 回答