lee647
lee647
采纳率33.3%
2014-12-26 03:33

jquery mobile组件 局部刷新的问题

已采纳

如题,网上说手动改了jquery mobile的插件之后要想获得精确地结果必须局部刷新一次,我刷新了,结果是变了可是样式还是没加载过来。希望大神可以提示一下,



{$attr.NAME}


$(function(){ $(".slider").each(function(){ obj=$(".slider"); num=obj.attr("status"); obj.find("input").val(num); obj.slider("refresh",true); }) })

这个是动态加载的页面,需要动态刷新slider的值跟状态,
前台发出的ajax请求
$(".subequip").each(function(){
obj=$(this);
id=obj.attr("id");
$.ajax({
async: false,
url:"{$bUrl}/devattr/devattr.php?id="+id,
success:function(data,textStatus)
{
obj.html(data);
obj.parent().trigger("create");
}
})
})

    值改变了,样式就是不改变,大神如果知道的话就指导一下吧。再次万分感谢
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • showbo GoCityPass新加坡曼谷通票 7年前

    楼主你代码有问题吧?你选择的对象是所有.slider的,而且slider是针对input对象的。。改为这样试试

         $(function () {
            $(".slider").each(function () {
                obj = $(this);//获取当前slider容器,你原来的是获取所有的slider了,如果有多个slider会导致下面的attr获取到的只是第一个的status值
                num = obj.attr("status");
                obj.find("input").val(num).slider('refresh');///对input调用slider实例的刷新方法
            })
        });
    
    点赞 评论 复制链接分享
  • danielinbiti danielinbiti 7年前

    slider应该用refresh刷新。

    点赞 评论 复制链接分享
  • lee647 lee647 7年前

    这个是缓存的问题吗?关键我还在测试都无法刷新状态呀

    点赞 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 7年前

    给你的地址增加版本信息,这样就不会缓存了,没修改一次变换过一次ver的值

     <script src="xxxx.js?ver=1.0"></script>
     <link href="xxx.css?ver=1.0" media="all" rel="stylesheet" />
    
    点赞 评论 复制链接分享