Jquery 项目上的ajax动态列表单击“创建新子列表”
我正在尝试使用jQuery mobile在动态列表中创建动态列表 我尝试使用Jquery 项目上的ajax动态列表单击“创建新子列表”,jquery,ajax,json,jquery-mobile,Jquery,Ajax,Json,Jquery Mobile,我正在尝试使用jQuery mobile在动态列表中创建动态列表 我尝试使用item.On(“单击”,callGroups)但我无法将参数传递给函数。 我正在使用jQueryMobile 1.3和jQuery1.8 这是我的ajax代码 <script type="text/javascript" type="text/javascript"> $(document).ready(function () { Greating();
item.On(“单击”,callGroups)代码>但我无法将参数传递给函数。
我正在使用jQueryMobile 1.3和jQuery1.8
这是我的ajax代码
<script type="text/javascript" type="text/javascript">
$(document).ready(function () {
Greating();
});
// $(document).on('pageinit', function () {
function callGroups(ID)
{
$("#"+ID).append("<ul><li> first</li><li>second item</li> </a></li> ");
}
function Greating() {
$.ajax({
type: "POST",
url: "CarService.asmx/GetAllsections",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var sections = response.d;
$('#page_body').append("<div data-role='page' id= 'ssaadd'><div>");
$.mobile.initializePage();
$.each(sections, function (index, section) {
// asd = "listsec" + section.secId;
$("#theList").append("<li> <a id = '"+section.secId+"' ><img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + ' ' + section.SecArbName + " <br />" + section.SecArbDiscr + "").on("click", callGroups();
});
console.log(response);
},
error: function (response) {
$("#theList").append("<li>error<li>");
console.log(response);
}
});
}
</script>
$(文档).ready(函数(){
变灰();
});
//$(文档).on('pageinit',函数(){
函数调用组(ID)
{
$(“#”+ID).附加(“- 第一项
- 第二项
”);
}
函数变灰(){
$.ajax({
类型:“POST”,
url:“CarService.asmx/GetAllsections”,
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(响应){
var部分=响应d;
$(“#页码_正文”)。追加(“”);
$.mobile.initializePage();
$。每个(节,函数(索引,节){
//asd=“listsec”+section.secId;
$(“#列表”)。附加(
“+section.SecName+”+section.SecArbName+”
“+section.SecArbDiscr+”)。在(“单击”,调用组();
});
控制台日志(响应);
},
错误:函数(响应){
$(“#列表”)。追加(- 错误
- ”;
控制台日志(响应);
}
});
}
如何在动态列表中构建动态列表?如果append方法错误,您将click
事件处理程序添加到循环中的列表中,而不是新添加的li
,您可以使用该方法修改代码
$("<li> <a id = '"+section.secId+"' ><img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + ' ' + section.SecArbName + " <br />" + section.SecArbDiscr + "").appendTo('#theList').on("click", callGroups);
$(“
”+section.SecName+”+section.SecArbName+“
”+section.SecArbDiscr+”)。附加到(“#列表”)。单击(“单击”,调用组);
并将呼叫组更改为
function callGroups(ID) {
$(this).append("<ul><li> first</li><li>second item</li> </a></li> ");
}
函数调用组(ID){
$(此项)。追加(“- 第一项
- 第二项
”;
}
以下是答案我尝试了这段代码,它正在工作
$.each(sections, function (index, section) {
var asd = section.SecName;
$("#theList").append("<li id='" + asd + "'> <img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + ' ' + section.SecArbName + " <br />" + section.SecArbDiscr + "");
$("#"+asd).append("<ul><li > <img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + ' ' + section.SecArbName + " <br />" + section.SecArbDiscr + "</li></ul></li>");
});
$。每个(节,函数(索引,节){
var asd=section.SecName;
$(“#列表”).append(“
“+section.SecName+”+section.SecArbName+”
“+section.SecArbDiscr+”);
$(“#”+asd).追加(“
”+section.SecName+”+section.SecArbName+”
“+section.SecArbDiscr+”- ”);
});
它正在工作,但它会不断在同一页面中添加新列表,我希望它被隐藏,当我单击该项目时,新列表将生成并在新页面中打开