2013-09-23 39 views
1

我已经使用http://www.roblaplaca.com/docs/custom-selectbox/自定义选择框脚本,我已经使用了两个选择框,第二个选择框更新使用AJAX第一个选择框的变化事件。以下是示例HTML。对于AJAX成功后更新我的选择框jQuery选择框(roblaplaca)与自定义滚动条不工作

<option>One</option> 
<option>Two</option> 
<option>Three</option> 

我已经使用同步()方法,内容也会得到更新,但问题是滚动条选择框消失

我已经检查同步()方法.js文件它叫_setupScrollbar();内容更新后方法,但乳清滚动条没有出现任何帮助?

您可以检查Demo code

+0

创建一个选择框摆弄修改@rajnikanth代码,请 – SarathSprakash

+0

我试图用的jsfiddle但剧本没有工作,所以我已经把这个示例代码在我服务器...请你帮我从演示代码创建小提琴。 – steve

+0

当然。告诉我你的代码 – SarathSprakash

回答

0

在你SelectBox.js,您将需要修改下列代码

(1)找到此function _setupScrollbar()并添加该代码autoReinitialise: true。代码将显示如下所示。

self.scrollpane = $dl.jScrollPane($.extend({ 
    contentWidth: 200, 
    autoReinitialise: true 
}, cfg.scrollOptions)); 

(2)查找此功能this.sync = function()并更改代码如下图所示。

this.sync = function() { 
    $options = cfg.selectbox.find("option"); 
    //$dl.html(_renderOptions()); 
    $jpane = $customSelect.find("div.jspPane"); 

    if($jpane.length == 1) // need to check if selectbox having scroll bar? 
    { 
     $jpane.html(_renderOptions()); //HTML injected to selectbox having scrollbar 
    } 
    else 
    { 
     $dl.html(_renderOptions()); //else HTML injected to selectbox not having scrollbar 
    } 

    _bindHover(); 
    _setupScrollbar(); 
}; 

滚动条不工作,因为你jsPane的被替换为新的内容,所以我已经改变了以下同步()代码;

// $dl.html(_renderOptions()); 
$jpane = $customSelect.find("div.jspPane"); 
if($jpane.length == 1) // need to check if selectbox having scroll bar? 
{ 
    $jpane.html(_renderOptions()); //HTML injected to selectbox having scrollbar 
} 
else 
{ 
    $dl.html(_renderOptions()); //else HTML injected to selectbox not having scrollbar 
} 

我希望这能解决您的问题。

+0

感谢您的帮助它做了伎俩... :)我已经更新了我的演示代码http://demo1.zylone.com/jQuery -custom-选择框主/ – steve

0

我在下面对于不具有滚动条

this.sync = function() { 
    $options = cfg.selectbox.find("option"); 
    //$dl.html(_renderOptions()); 
    $jpane = $customSelect.find("div.jspPane"); 

    if($jpane.length == 1) // need to check if selectbox having scroll bar? 
    { 
     $jpane.html(_renderOptions()); //HTML injected to selectbox having scrollbar 
    } 
    else 
    { 
     $dl.html(_renderOptions()); //else HTML injected to selectbox not having scrollbar 
    } 

    _bindHover(); 
    _setupScrollbar(); 
};