Javascript 使用jQuery和Cordova使用sqlite自动完成

Javascript 使用jQuery和Cordova使用sqlite自动完成,javascript,android,jquery,sqlite,cordova,Javascript,Android,Jquery,Sqlite,Cordova,如何在jQuery中调用和创建自动完成搜索,使用Cordova3.2从SQlite数据库获取数据 在3个字符之后,它应该开始从数据库SQLite搜索数据 HTML5 最后我得到了答案 Html5 Jquery:- function clickfunc(){ //here i m calling database but it is not working } function clickfunc(object) { $("#valueId").empty(); var valueId= "

如何在jQuery中调用和创建自动完成搜索,使用Cordova3.2从SQlite数据库获取数据

在3个字符之后,它应该开始从数据库SQLite搜索数据

HTML5


最后我得到了答案

Html5

Jquery:-

function clickfunc(){
  //here i m calling database but it is not working
}
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');
                    } 
                }
            });
    });
}
}

到目前为止您尝试了什么?我不熟悉这项技术,但这条SQL语句中似乎存在SQL注入漏洞。如果valueIdName是未筛选的用户输入,并且数据库是远程的,则用户可以在此数据库上运行自己选择的SQL语句。
<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>
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');
                    } 
                }
            });
    });
}
}