Jquery mobile 如何在动态创建的输入中实现jquery移动自动完成
我的文本框和数据是在javascript中动态生成的。如何在数据上应用jquery mobile自动完成Jquery mobile 如何在动态创建的输入中实现jquery移动自动完成,jquery-mobile,autocomplete,Jquery Mobile,Autocomplete,我的文本框和数据是在javascript中动态生成的。如何在数据上应用jquery mobile自动完成 function getHtmlRelate(datat) { var demodata = ''; var labeldata = ""; var inputname = ""; var dropdownidandname = ""; var relateModule = ""; var showstar =""; for (
function getHtmlRelate(datat) {
var demodata = '';
var labeldata = "";
var inputname = "";
var dropdownidandname = "";
var relateModule = "";
var showstar ="";
for (data in datat) {
if (data === "required") {
if (datat[data] === 1) {
demodata = demodata + ' ' + data;
showstar="<span style='color:red;'>*</span>";
}
} else if (data === "group" || data === "options" || data === "len" || data === "calculated") {
} else if (data === "name") {
inputname = datat[data];
} else if (data === "id_name") {
dropdownidandname = datat[data];
} else if (data === "related_module") {
relateModule = datat[data];
console.log("related module= " + relateModule);
} else if (data === "label") {
labeldata = "<label for=" + datat[data] +' '+showstar+">" + datat[data] + "</label>";
} else if (data === "module_name") {
module_name = datat[data];
} else {
demodata = demodata + ' ' + data + '="' + datat[data] + '" ';
}
}
;
return labeldata + '<input data-typeahead="' + relateModule + '" data-typeahead-dropdown-id="' + dropdownidandname + '" type="text" name="' + inputname + '" id="' + inputname + '" onkeyup="getDropDown(this.value,\'' + relateModule + '\',\'' + dropdownidandname + '\')"/><select name="' + dropdownidandname + '" id="' + dropdownidandname + '"></select>';
}
function getDropDown(currentinput, relateModule, dropdownId) {
var mymodule = relateModule.toLowerCase();
var query1 = currentinput;
var dropdownhtml = '<option value="0">Select</option>';
$.post(getrelaterecords + relateModule + '&query=' + query1,
{session_id: sessionStorage.sessionid},
function(data) {
data.forEach(function(entry) {
dropdownhtml = dropdownhtml + '<option value="' + entry['id'] + '">' + entry['name'] + '</option>';
console.log("options are - " + dropdownhtml);
});
dropdownhtml = dropdownhtml;
console.log("html is " + dropdownhtml);
$('#' + dropdownId).html(dropdownhtml);
});
}
函数getHtmlRelate(datat){
var demodata='';
var labeldata=“”;
var inputname=“”;
var dropdownidandname=“”;
var relateModule=“”;
var showstar=“”;
用于(数据中的数据){
如果(数据=“必需”){
如果(数据t[data]==1){
解调数据=解调数据+“”+数据;
showstar=“*”;
}
}else if(数据==“组”| |数据==“选项”| |数据==“len”| |数据==“已计算”){
}else if(数据==“名称”){
inputname=datat[data];
}else if(数据==“id\u name”){
dropdownidandname=datat[data];
}else if(数据===“相关模块”){
relateModule=datat[data];
console.log(“相关模块=“+relateModule”);
}else if(数据==“标签”){
labeldata=“”+datat[数据]+”;
}else if(数据==“模块名称”){
模块_name=datat[data];
}否则{
demodata=demodata+''+data+'='+datat[data]+'';
}
}
;
返回labeldata+“”;
}
函数getDropDown(currentinput、relateModule、dropdownId){
var mymodule=relateModule.toLowerCase();
var query1=电流输入;
var dropdownhtml='Select';
$.post(getrelaterecords+relateModule+'&query='+query1,
{session_id:sessionStorage.sessionid},
功能(数据){
data.forEach(函数(条目){
dropdownhtml=dropdownhtml+''+条目['name']+'';
log(“选项为-”+dropdownhtml);
});
dropdownhtml=dropdownhtml;
log(“html是”+dropdownhtml);
$('#'+dropdownId).html(dropdownhtml);
});
}
我现在正在使用下拉列表,但希望使用ListView自动完成,但找不到实现它的方法
更新:
function getLiForRelate(relateModule, dropdownId) {
var mymodule = relateModule.toLowerCase();
// var query1 = currentinput;
var dropdownhtml = '';
$.post(getrelaterecords + relateModule,
{session_id: sessionStorage.sessionid},
function(data) {
var dropdownhtml = '';
data.forEach(function(entry) {
dropdownhtml += '<li><a href="#" data-itemid="' + entry['id'] + '">' + entry['name'] + '</a></li>';
});
$('#' + dropdownId).empty().append(dropdownhtml).listview("refresh").filterable("refresh");
// dropdownhtml = dropdownhtml;
console.log("html is " + dropdownhtml);
// $('#' + dropdownId).html(dropdownhtml);
});
}
function getHtmlRelate(datat) {
var demodata = '';
var labeldata = "";
var inputname = "";
var dropdownidandname = "";
var relateModule = "";
var showstar = "";
for (data in datat) {
if (data === "required") {
if (datat[data] === 1) {
demodata = demodata + ' ' + data;
showstar = "<span style='color:red;'>*</span>";
}
} else if (data === "group" || data === "options" || data === "len" || data === "calculated") {
} else if (data === "name") {
inputname = datat[data];
} else if (data === "id_name") {
dropdownidandname = datat[data];
} else if (data === "related_module") {
relateModule = datat[data];
console.log("related module= " + relateModule);
} else if (data === "label") {
labeldata = "<label for=" + datat[data] + ' ' + showstar + ">" + datat[data] + "</label>";
} else if (data === "module_name") {
module_name = datat[data];
} else {
demodata = demodata + ' ' + data + '="' + datat[data] + '" ';
}
}
getLiForRelate(relateModule,dropdownidandname);
return labeldata + ' <ul id="'+dropdownidandname+'" data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search items..."></ul>';
函数getLiForRelate(relateModule,dropdownId){
var mymodule=relateModule.toLowerCase();
//var query1=电流输入;
var dropdownhtml='';
$.post(getrelaterecords+relateModule,
{session_id:sessionStorage.sessionid},
功能(数据){
var dropdownhtml='';
data.forEach(函数(条目){
下拉HTML+='';
});
$('#'+dropdownId).empty().append(dropdownhtml).listview(“刷新”).filterable(“刷新”);
//dropdownhtml=dropdownhtml;
log(“html是”+dropdownhtml);
//$('#'+dropdownId).html(dropdownhtml);
});
}
函数getHtmlRelate(datat){
var demodata='';
var labeldata=“”;
var inputname=“”;
var dropdownidandname=“”;
var relateModule=“”;
var showstar=“”;
用于(数据中的数据){
如果(数据=“必需”){
如果(数据t[data]==1){
解调数据=解调数据+“”+数据;
showstar=“*”;
}
}else if(数据==“组”| |数据==“选项”| |数据==“len”| |数据==“已计算”){
}else if(数据==“名称”){
inputname=datat[data];
}else if(数据==“id\u name”){
dropdownidandname=datat[data];
}else if(数据===“相关模块”){
relateModule=datat[data];
console.log(“相关模块=“+relateModule”);
}else if(数据==“标签”){
labeldata=“”+datat[数据]+”;
}else if(数据==“模块名称”){
模块_name=datat[data];
}否则{
demodata=demodata+''+data+'='+datat[data]+'';
}
}
getLiForRelate(relateModule、DropDownId和Name);
return labeldata+'}向自动完成listview添加动态项时,需要为listview小部件和可过滤小部件调用刷新:
var dropdownhtml = '';
data.forEach(function (entry) {
dropdownhtml += '<li><a href="#" data-itemid="' + entry['id'] + '">' + entry['name'] + '</a></li>';
});
$("#autoComplete").empty().append(dropdownhtml).listview("refresh").filterable("refresh");
var-dropdownhtml='';
data.forEach(函数(条目){
下拉HTML+='';
});
$(“#自动完成”).empty().append(dropdownhtml).listview(“刷新”).filterable(“刷新”);
这是一个正在工作的
我如何使用您编辑的代码调用我的get下拉函数?请您帮助that@vini,你现在怎么称呼它?这是一样的,只是没有构建选项dom元素,而是现在为listview小部件构建listitem元素。您好,您能检查一下我是否更改了代码,但它没有在ul@vini,美元(“#”+dropdownId)是指现有的UL-DOM元素吗?或者它仍然是HTML标记中的下拉列表?它指的是ul id