Список автозаполнения jQuery (более старый плагин) выглядит очень маленьким на мобильных устройствах

#css #mobile #jquery-autocomplete

#css #Мобильный #jquery-автозаполнение

Вопрос:

Я использую более старый плагин автозаполнения jQuery (тот, который показан здесь — http://view.jquery.com/trunk/plugins/autocomplete/demo /). Он предназначен для использования в мобильном приложении. Плагин отлично работает в браузере на рабочем столе. Однако на мобильном устройстве список предложений автозаполнения плагина выглядит очень, очень маленьким и вообще не читается.

Я попытался использовать значения «em» для размера шрифта и высоты строки в CSS. Более того, я добавил это в CSS —

 @viewport {
  width: device-width;
}
 

Но не повезло! 🙁

У меня уже есть мета-окно просмотра для моего объявления в мобильном приложении, с остальными страницами все в порядке.

 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
 

Таким образом, плагин jQuery, похоже, работает, потому что, если мне удастся щелкнуть по одной из этих маленьких строк, я получаю правильное значение в своем текстовом поле. Однако список автозаполнения слишком мал для чтения, и я не могу найти правильный CSS, чтобы заставить это работать. Любые указания / предложения будут высоко оценены!

TIA, — Manish

Комментарии:

1. Интересно, что тот же код отлично работает в мобильном Firefox (7.0.1), а список автозаполнения отлично отображается в браузере. Но он не работает в браузере Safari по умолчанию (AppleWebKit / 533.1 (KHTML, как Gecko) версии / 4.0 Mobile Safari / 533.1) на моем телефоне Android!

Ответ №1:

Возможно, вам нужно определить свойство css отдельно для мобильного устройства. Например :

 @media all and (max-devide-width: 480px){
    .head{  
       width:200px;
           height:50px;
     } 
} 
 

Комментарии:

1. это пример, который, возможно, вам придется использовать! важно для этого

2. переопределение css вашего устройства с помощью обычного css! важным в устройстве css может быть то, что это работает

Ответ №2:

Теперь я это исправил. Это была довольно тонкая проблема, которая не была очевидна при устранении проблемы. Я много копал и много играл с CSS, включая некоторые из предложений, упомянутых здесь @sandeep . Однако ничего не сработало — с помощью жестко заданного атрибута «height» в css для каждого элемента <li> jQuery div мне удалось увеличить строки для списка автозаполнения jQuery, но все равно содержимое этих строк не отображалось. Однако, когда я нажал на строку — правильное значение будет подставлено в текстовое поле. Это было довольно загадочно и предполагало, что, вероятно, браузер AppleWebKit не отображал содержимое.

Список автозаполнения jQuery на сервере содержал более 3000 элементов <option> (нам нужен другой текст для пользователей и немного короткого кода для серверной части), а браузер AppleWebKit отказался показывать их как строки автозаполнения jQuery (Firefox мог показывать их без проблем), так что, наконец,Я написал небольшой JS-код для функции форматирования jQuery

         //needed as option list is not shown by AppleWebKit safari browser
    formatItem: function(item, position, length, search){
        var name ="";       
        var str = ""   item;            
        var start = str.indexOf('">')   '">'.length;
        var end = str.lastIndexOf("</");
        name = str.substring(start,end);
        return name; 
    }
 

Он извлекает текст метки элемента option и передает его в список автозаполнения jQuery. Это устранило проблему, и теперь я могу правильно использовать автозаполнение jQuery на мобильных устройствах. Я протестировал его на Android и iPhone (наших целевых устройствах) и обнаружил, что он отлично работает на них обоих!

Решаемая !! 🙂