2015-02-18 3 views
1

Как я буду называть и создавать поиск автозаполнения в jQuery, которые получают данные из базы данных SQlite с помощью Cordova 3.2?Автозаполнение с использованием sqlite с использованием jQuery и Cordova

После 3 символов он должен начать поиск данных из базы данных (SQLite).

HTML5

<div> 
    <input id="valueEnter" onInput="clickfunc();"/> 
</div> 

Jquery: -

function clickfunc(){ 
    //here i m calling database but it is not working 
} 
+0

что вы пробовали? –

ответ

0

Наконец я получил ответ

html5

<div class="e-input-cell"> 
    <input id="valueEnter" oninput="clickfunc(this)" /> 
    <ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-input="#valueEnter" id="valueId"></ul> 
</div> 

Jquery: -

function clickfunc(object) { 
$("#valueId").empty(); 
var valueId= ""; 
var valueIdName= $("#valueEnter").val(); 
if (valueIdName.length > 2) { 
    var select = '%' + valueIdName+ '%'; 
    db.transaction(function (transaction) { 
     transaction.executeSql('SELECT NAME FROM Tablename WHERE NAME LIKE "' + valueIdName+ '";', [], 
      function (transaction, results) { 
       if (results != null && results.rows != null) { 
        if (results.rows.length > 0) { 
         for (var i = 0; i < results.rows.length; i++) { 
          var code = results.rows.item(i).NAME; 
          valueId+= '<li data-filtertext="' + code + '"><a href="#">' + code + '</a></li>' 
         } 
         $("#valueId").append(valueId).selectmenu('refresh'); 
        } 
       } 
      }); 
    }); 
} 
} 
+0

Я не знаком с этой технологией, но этот оператор SQL выглядит так, как будто в нем есть уязвимость SQL-инъекций. Если 'valueIdName' является нефильтрованным вводом пользователя, а база данных удалена, пользователь может самостоятельно выполнять SQL-запросы по этой базе данных. – halfer

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