2013-09-23 58 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(); 
};