Javascript 使用jQuery和Cordova使用sqlite自动完成
如何在jQuery中调用和创建自动完成搜索,使用Cordova3.2从SQlite数据库获取数据 在3个字符之后,它应该开始从数据库SQLite搜索数据 HTML5Javascript 使用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= "
最后我得到了答案 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');
}
}
});
});
}
}