2015-10-15 54 views
1

我想給用戶使用tab鍵從輸入更改爲另一個的能力。但是在select2上,tab鍵不起作用。我如何打開select2焦點?我試過this solution但它不起作用。在焦點上打開select2

jsFiddle

$('.js-select').select2({ 
    placeholder: "Select", 
    width: "100%" 
}).one('select2-focus', select2Focus).on("select2-blur", function() { 
    $(this).one('select2-focus', select2Focus) 
}) 

function select2Focus() { 
    var select2 = $(this).data('select2'); 
    setTimeout(function() { 
     if (!select2.opened()) { 
      select2.open(); 
     } 
    }, 0); 
} 

回答

1

我嘗試了一些在鏈接的SO問題的辦法,最後用這對我工作的下面走了過來。我正在使用Select2 4.0.1,這是今天的最新版本。變量'element'是您作爲Select2具有的<select>元素。

$.data(element).select2.on("focus", function (e) { 
    $(element).select2("open"); 
}); 
0

我發現,正是因爲寫不與選擇2 4.0.3(jsfiddle)工作,但略作修改和清理MR李斯特和EriksonG的解決方案有點它工作得很好:

$('.js-select').each(function() { 
    var s = $(this); 
    s.data().select2.on('focus', function (e) { 
     s.select2('open'); 
    }); 
}); 

jsfiddle demo

相關問題