2014-10-29 55 views
1

我有一个可折叠的列表项,在列表视图中,在jQuery的移动应用程序。无法初始化iconpos为可折叠

因为我通过敲除动态绑定到列表我有处理程序负责初始化列表视图。因此我的标记很简单。

<div data-role="page" id="p1"> 
    <div data-role="content"> 
     <ul id="mylist" data-bind="foreach: items, jqmRefreshList: items"> 
      <li> 
       <div> 
        <h2 data-bind="text: txt"></h2> 
        <p data-bind="text: desc"></p> 
       </div> 
      </li>    
     </ul> 
    </div>  

</div> 

的结合处理程序是这样写的:

ko.bindingHandlers.jqmRefreshList = { 
    update: function (element, valueAccessor) { 
     ko.utils.unwrapObservable(valueAccessor()); 
     try { 
      console.log('executed'); 
      console.log(element); 
      $(element).listview(); 
      var e = $(element).find('li >div');    
      e.collapsible({iconpos: "right"}); 
     } catch (ex) { 
      console.log(ex); 
     } 
    } 
}; 

尽管声明e.collapsible({iconpos: "right"});的收缩元件显示了在左边,不对图像。

小提琴:http://jsfiddle.net/yxbv7h9g/2/

回答

1

您正在使用jQuery移动的一个很旧的版本(1.2),其中设置称为iconPos以大写P

var e = $(element).find('li >div');    
e.collapsible({iconPos: "right"}); 

演示JSFiddle

但是在1.3.0版本变化与固定#4899.

所以,如果你升级你的jQuery Mobile的版本,此设置的名称,然后你原来的代码也将工作:Demo JSFiddle.

+0

+1,或者他可以使用'数据 - 'div'元素上的iconpos =“right”'属性。 – manji 2014-10-29 13:46:02

+0

是的,从数据属性设置iconpos也可以工作:http://jsfiddle.net/vdbs8e21/2/ – nemesv 2014-10-29 13:46:59