2015-06-10 5 views
1

Я использую bootstrap-select в форме со многими записями. Теперь я хотел бы подтвердить форму таким образом, чтобы пользователь более точно направлял недостающие поля. так я использую:Как открыть меню начальной загрузки

$('html, body').animate 

для перехода к отсутствующему полю/выберите пункт , а затем:

field.focus(); 

, чтобы установить курсор в поле ввода

Теперь для выбора элементов я хотел бы открыть раскрывающийся список в этом случае.

Есть ли способ сделать это?

я пытался следующий благодаря наводке магглов:

function goToFormField(field){ 
    var offset=80; 
    $('html, body').animate({ 
       scrollTop: field.parent().offset().top - offset 
    }, 100,"easeInOutCirc",function(){ 
     if(field.is("input")){ 
      field.focus(); 
     }else if(field.is("select")){ 
      field.selectpicker('show')   
     } 
    } 
    ); 
} 

, но это не сработало. EDIT: указанная функция selectpicker ('show') показывает только элемент select, а не выпадающее содержимое.

Спасибо.

+0

надеяться, очищенный. – zantafio

ответ

1

Я предполагаю, что вы говорите о плагине this для Bootstrap.

Если это так, в соответствии с documentation, плагин имеет метод .show(), который программно показывает меню выбора начальной загрузки.

$('.selectpicker').selectpicker('show'); 
+0

Да, я использую этот плагин. Однако я не могу заставить функцию mentinoed работать. вот мой код: 'функция goToFormField (поле) { \t \t \t \t \t \t вар смещение = 80; \t \t \t \t $ ('HTML, тело') анимации (. { \t \t scrollTop:.. Field.parent() смещение() сверху - смещение \t \t}, 100, "easeInOutCirc", функция() { \t \t \t, если (field.is ("вход")) { \t \t \t \t field.focus(); \t \t \t} иначе, если (field.is ("выбрать")) { \t \t \t \t раздел.selectpicker ('шоу') \t \t \t \t \t \t} \t \t} \t \t); \t} ' – zantafio

+0

@zantafio вы можете создать https://jsfiddle.net.net/, также я бы рекомендовал редактировать исходный вопрос с помощью этого кода, поскольку форматирование было бы намного более читаемым. – Muggles

1

самозагрузка-выбрать только требует открытого класса, чтобы быть добавлены в том же классе, как выберите элемент, например:

// To Open 
$('.selectpicker').addClass('open'); 

// To Close 
$('.selectpicker').removeClass('open'); 
+0

Вы также должны заметить, что вам нужно вызвать метод обновления, например $ ('. Selectpicker'). Selectpicker ('refresh') –

+0

@GezaTuri только если вы хотите перезагрузить данные, иначе это сработало бы в моем случае, не вызвав обновление. –

Смежные вопросы