2015-08-25 7 views
0

Я работаю для iPhone-приложения, используя телефонную защелку. В приложении есть несколько выпадающих меню, значения которых больше 10000. Теперь мы пытаемся заменить раскрывающийся список Autocomplete.Извлечь данные из sqlite и отобразить их в автозаполнении

Мы сохраняем эти 10000 записей в SQLite DB и извлекаем записи из БД, когда пользователь вводит строку.

КОД:

<input type ="text" class="inputFormText" ng-model="Location.location" id="location" list ="locValues" placeholder="{{'lSummary_Location_text'|translate}}" autocomplete = "on" maxlength="80" ng-keyup="populateLocations($event)"/> 

      <div class="aListCon"> 
       <datalist id="locValues"> 

       </datalist> 
      </div> 

$scope.populateLocations = function($event){ 

       if ($event.target.value.length > 2) { 
        try 
        { 
          db.transaction(function(tx){ 
           tx.executeSql("SELECT ID, VALUE FROM tbl_Location WHERE VALUE LIKE '%" + $event.target.value + "%'", [], 
             function(tx, res){ 

              if(res.rows.length > 0) 
              { 
                var template = ""; 
                for (var i = 0; i < res.rows.length; i++) { 


                 var id = res.rows.item(i).value + '/ID: ' + res.rows.item(i).id; 
                 template += '<option class="aCon" id="' + id + '" value="' + res.rows.item(i).value + '"></option>'; 
                }; 

                document.getElementById('locValues').innerHTML = template; 
              } 
              else 
               console.log("No records found") 
             }, 
             function(ex){ 
              console.log("Populate Location Error: " + ex.message); 
             }); 
          }); 
        } 
        catch(ex) 
        { 
          console.log("Populate Location Error: " + ex.message); 
        } 
       }; 
     }; 

Я был в состоянии принести записи формируют SQLite и присоединять к DataList, но автозаполнения не отображается в пользовательском интерфейсе.

Любая идея, где я ошибаюсь?

Заранее спасибо

ответ

0

Этот код должен работать:

var divtoappend=angular.element(document.querySelector('#locValues')); 
divtoappend.append("<option class="aCon" id="' + id + '" value="' + res.rows.item(i).value + '"></option>"); 
Смежные вопросы