复选框单击事件 jQuery 不起作用

checkbox onclick event jquery not working

本文关键字:不起作用 jQuery 事件 单击 复选框      更新时间:2023-09-26

我有一个网站,上面有几个动态框。每隔 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>

看起来发布的脚本存在一些问题。你能看看这是否有帮助吗?

<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>

尝试捕获父级上的点击事件 -

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