2

Я использую скрытый якорь unfocus самозагрузки выбрать на изменения, как это:Selectpicker (самозагрузки-выбор) unfocus OnChange

HTML:

<select id="SelectAddress" name="SelectAddress" class="selectpicker" title="Select an address" data-header="Select an address"> 
    <option id="1" value="1" selected >First address</option> 
    <option id="2" value="2" >Second address</option> 
</select> 

JQuery:

$("#SelectAddress").on("change", function() { 
//...mycode... 
    $("#AFocus").focus(); 
}); 

$("#AFocus").focus(); делает нецелесообразным выборщик, но также делает страницу на страницу вверх. AFocus находится в верхней части страницы, поэтому ...

Как сфокусировать выборщик без использования якорной метки, такой как мой AFocus без прокрутки страницы?

Вот пример: http://jsfiddle.net/ya0o7hzb/ Прокрутите страницу вниз, чтобы увидеть загрузку-выбор.

ответ

2

самозагрузки-выбор будет добавить некоторые HTML в DOM, как это:

<div class="btn-group bootstrap-select"><button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" role="button" data-id="SelectAddress" title="Address 1" aria-expanded="false"><span class="filter-option pull-left">Address 1</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span></button><div class="dropdown-menu open" role="combobox" style="padding-top: 0px; max-height: 297px; overflow: hidden; min-height: 37px;"><div class="popover-title"><button type="button" class="close" aria-hidden="true">×</button>Select an address</div><ul class="dropdown-menu inner" role="listbox" aria-expanded="false" style="max-height: 248px; overflow-y: auto; min-height: 0px;"><li data-original-index="1" class="selected"><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="true"><span class="text">Address 1</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li><li data-original-index="2" class=""><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false"><span class="text">Address 2</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li></ul></div><select id="SelectAddress" name="SelectAddress" class="selectpicker" title="Select an address" data-header="Select an address" onchange="blur_picker('SelectAddress')" tabindex="-98"><option class="bs-title-option" value="">Select an address</option> 

Таким образом, вы должны blur() кнопку, содержащую класс BTN:

$(".btn").blur(); 

Рабочий пример: http://jsfiddle.net/93ohvn0j/

1

Попробуйте это. Это может сделать трюк.

<select id="SelectAddress" name="SelectAddress" class="selectpicker" title="Select an address" data-header="Select an address" onChange="blur_picker('SelectAddress')"> 
<option id="1" value="1" selected >First address</option> 
<option id="2" value="2" >Second address</option> 

function blur_picker (element) { 
element = document.getElementById(element); 
element.blur; 
    } 

Надеется, что это помогает!

+0

К сожалению, '.blur' не работает для selectpicker. –

+0

Вот пример: http://jsfiddle.net/ya0o7hzb/ –