【问题标题】:jQuery change to return checked or unchecked statusjQuery 更改以返回选中或未选中状态
【发布时间】:2012-08-17 13:18:40
【问题描述】:

我正在尝试使用以下函数返回 truefalse,基于复选框的状态,我正在使用 jQuery iButton 插件(隐藏复选框并替换它通过支持拖动事件的iPhone 样式滑动按钮)我发现检测拖动以及单击事件的唯一方法是使用 jQuery 更改。

var testChecked= function(){
    $('#status').change(function(){ // #status is the checkbox ID
        if($(this).is(':checked')){
            console.log('is_checked');//works
            return true;
        }
        else{
            console.log('is_unchecked');//works
            return false 
        } 
    });
}

http://jsfiddle.net/fnt5J/1/

【问题讨论】:

  • 请为您的问题创建一个 jsFiddle,帮助您更轻松。
  • var testChecked= function(){ return $("#status").is(':checked'); };?
  • 感谢jsfiddle.net/fnt5J/1的及时回复@我要做的就是让这个函数在执行后返回真或假

标签: javascript jquery callback return onchange


【解决方案1】:

我不知道你的代码中的 status 是什么。

正如你提到的 iButton jQuery 插件,我在谷歌搜索后找到了这个页面。 http://www.givainc.com/labs/ibutton_jquery_plugin.htm

我刚刚在 chrome 控制台中输入了这个 $('#iButton').attr('checked'); 语句,根据 ON 和 OFF 状态,我得到了正确的状态为 truefalse

所以我认为你必须在你的代码中做以下事情。

$('#status').change(function(){
    return $('#iButton').attr('checked');
})

【讨论】:

  • 如果您在 FF 控制台上键入相同的内容,它不会返回 false。 jsfiddle.net/fnt5J/1
  • 我不知道您为什么将更改事件包装在函数 testChecked 中。我已经删除了它,现在它的日志记录了。请检查。 jsfiddle.net/fnt5J/2
【解决方案2】:

在 iButton jQuery Plug-in 中有许多选项可用,因此您可以使用事件处理程序:更改。

$('#ibutton').iButton({
  change: function (){
    if($('#ibutton').attr('checked'))
       console.log("TRUE");
    else
       console.log("FALSE");
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 2021-08-01
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 2013-08-08
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多