ajax调用后,jquery mobile在复选框上没有样式
Posted
技术标签:
【中文标题】ajax调用后,jquery mobile在复选框上没有样式【英文标题】:jquery mobile no styling on checkboxes after ajax call 【发布时间】:2014-05-10 04:23:44 【问题描述】:我正在尝试使用 ajax 调用从 json 数组中获取项目列表并将它们放入复选框列表中。这些项目可以正常加载,但它们没有 jquery 移动样式。
$(document).ready(function()
jQuery.support.cors = true;
$.ajax(
type: 'GET',
url: "https://evalue.internationaldelivers.com/service_kb_cust/OCCAPI/Mobile/json/f9496ab3c3764fd0ae201de76c71608f/OCC_GetFiltersObj",
dataType: "json",
contentType: 'application/json',
crossDomain: true,
async: true,
cache: false,
timeout: 30000,
success: function (data, status, xhr)
for (var i=0, len=data.OCC_FiltersObj_Cust.length; i < len; i++)
$("#filterpanel fieldset").append("<input type='checkbox' name='checkbox-2' id="+data.OCC_FiltersObj_Cust[i].CustomerID+" class='custom'/>")
$("#filterpanel fieldset").append("<label for="+data.OCC_FiltersObj_Cust[i].CustomerID+">"+data.OCC_FiltersObj_Cust[i].CustomerName+"</label>")
,
complete: function (xhr, status)
// Indicate complete
,
error: function (xhr, status, error)
// Assert an error
);
);
谁能帮帮我?
【问题讨论】:
您使用的是哪个 jQM 版本? 【参考方案1】: for (var i=0, len=data.OCC_FiltersObj_Cust.length; i < len; i++)
$("#filterpanel fieldset").append("<input type='checkbox' name='checkbox-2' id="+data.OCC_FiltersObj_Cust[i].CustomerID+" class='custom'/>")
$("#filterpanel fieldset").append("<label for="+data.OCC_FiltersObj_Cust[i].CustomerID+">"+data.OCC_FiltersObj_Cust[i].CustomerName+"</label>")
$("#filterpanel fieldset").trigger("create");
【讨论】:
【参考方案2】:您需要在复选框父元素上调用 trigger("create")
所以试试这个:
success: function (data, status, xhr)
for (var i=0, len=data.OCC_FiltersObj_Cust.length; i < len; i++)
$("#filterpanel fieldset").append("<input type='checkbox' name='checkbox-2' id="+data.OCC_FiltersObj_Cust[i].CustomerID+" class='custom'/>")
$("#filterpanel fieldset").append("<label for="+data.OCC_FiltersObj_Cust[i].CustomerID+">"+data.OCC_FiltersObj_Cust[i].CustomerName+"</label>")
$("[type='checkbox']").closest("div").trigger("create");
【讨论】:
以上是关于ajax调用后,jquery mobile在复选框上没有样式的主要内容,如果未能解决你的问题,请参考以下文章
在 jQuery Mobile 中的 Ajax 调用中显示页面加载微调器
完整功能中的ajax调用后刷新jquery mobile listview不起作用