Jquery addClass / removeClass在浏览器中工作,但在iPhone上不工作

时间:2014-01-12 00:07:35

标签: jquery ajax cakephp

我有一个独特的小过滤器我建立。这是一系列“状态”按钮。单击每个按钮可以设置列表。我通过ajax发送按钮id / status,搜索匹配的组合,返回要显示的json值列表。在ajax.success上,我隐藏了所有行,然后显示json响应中的行。它在我的浏览器中运行良好。但是在我的手机上不起作用。 这是jquery部分......

$(document).ready(function(){
    $(".pstat").click(function(){
        var id = this.id;
        $("#" + id).toggleClass('btn-primary');

        $.ajax({
            dataType: "html",
            type: "POST",
            url: '/properties/active',
            data: ({data:id}),
            success: function (response){
                var obj = JSON.parse(response);
                $("tbody tr").addClass("hidden");
                $.each(obj, function(key, value) {
                    $("." + value).removeClass("hidden");
                });
            }
        });
    });
});

脚本的第一部分切换按钮,以便我可以判断选择了哪些按钮。状态保存在会话中。

成功...隐藏所有行...然后对于响应中的每个项目...删除隐藏的类。

返回的值是与类匹配的连接值对。 ie class =“Closed Pending”

就像我说的那样,在Chrome和&amp ;; FF,但在我的手机上加载页面时甚至不会执行初始添加隐藏类。

网站在Cakephp 2.3中 Jquery 1.11已成功加载。 我正在使用BootstrapCake插件。 网站是私人网站,否则我会提供网址。

知道从哪里开始寻找?

1 个答案:

答案 0 :(得分:0)

首先,我会采取一些措施来验证您的success回调肯定会在iPhone上被调用:

1)添加console.log - 如果您没有方便的方式通过iPhone设置查看控制台,请添加警报 - 以检查您是否在{{ {1}}回调:

success

2)添加一个success: function (response){ var obj = JSON.parse(response); console.log(obj); // rest of your code } 回调函数,通过iPhone重新检查Ajax请求是否由于某种原因而失败:

error

我很欣赏这个答案可能会对派对来说有点晚,但如果没有,那么希望它能为你提供一些有用的东西。