Chosen

L
На сайте с 17.05.2013
Offline
88
474

Для более user-friendly селектов использую библиотеку chosen

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

Для этого к коду который отвечает за работу селекта (тот что из примера):

<link rel="stylesheet" href="styles/chosen.css">
<select data-placeholder="Type 'C' to view" multiple class="chosen-select" tabindex="11">
<option value=""></option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script src="js/chosen.jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(".chosen-select").chosen();
</script>

я добавляю свой:


<!--<input type="text" style="width:390px;" class="chosen-select" id="city2" name="city2" value="">-->
<script src="http://site.com/js/jquery.autocomplete.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
function liFormat (row, i, num) {
var result = row[0];
return result;
}
function selectItem(li) {
if( !!li.extra ) var sValue = li.extra[2];
else var sValue = li.selectValue;
}
$(".chosen-select").autocomplete("http://site.com/autocomplete_test.php", {
delay:10,
minChars:2,
matchSubset:1,
autoFill:true,
matchContains:1,
cacheLength:10,
selectFirst:true,
formatItem:liFormat,
maxItemsToShow:10,
onItemSelect:selectItem
});
});
</script>

Почему-то автокомплит не работает на селекте, хотя на текстовом поле, которое закомментировано работает отлично.

Подскажите как его(автокомплит) сделать рабочим на селекте?

ДП
На сайте с 23.11.2009
Offline
203
#1

Я так понимаю у вас отдельный плагин автокомплита? Вообще говоря, скрестить их будет трудновато в таком случае. Как вариант - переинициализировать chosen после изменения количества вариантов.

Ну и пару мыслей вслух:

1. В самом chosen нет автокомплита?

2. Посмотрите select2 - еще один вариант стилизации селекта и там есть возможность подгрузки через ajax.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий