我正在尝试在页面加载上运行一些jquery但它现在正在运行。它正在检查链接是否已经保存,如果已经设置了表格。这是否可能,因为它应该使用img类运行每个div?
$(document).ready(function(){
$(".img a").live('pageshow', function(event, ui) {
var item=$(this).attr( 'href' );
var action="check";
jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
var result=data.result;
if (result="saved") {
$("span", this).html("Saved");
$(this).attr("href","saved");
}
}, "json")
.error(function() {
alert("error: unable to contact web service");
});
});
});
这是HTML
<td>
<div class="img" style="background:#f8d3cf;">
<a href="f8d3cf" rev="1" class="link">
<span>Click to Save</span>
<em>Saved</em>
</a>
<div class="popup">
<div class="holder">
<div class="popup-img" style="background:#f8d3cf;"></div>
<div class="info">
<h3>Desert Warmth</h3>
<strong class="num">70YR 56/190 <span>A0542</span></strong>
</div>
</div>
</div>
</div>
</td>
答案 0 :(得分:0)
如上所述,pageshow是一个qmobile事件,而onpageshow是html5,并非所有浏览器都支持。答案是使用'window.onload = function(){};' window.onload中的任何内容都将在页面加载时处理。这是我使用window.onload的方式。第一个ajax调用从会话加载cart_id,或者如果需要则创建一个。完成ajax调用后,将调用填充购物车中项目的应用程序。
window.onload = function() {
$j(".cartid").each(function() {
var self = $j(this);
jqxhr = $j.post("mycartid.php", function(data) {
self.html(data.cart_id);
}, "json").complete(function() {
$j("#cartitems").each(function() {
var self = $j(this);
jqxhr = $j.post("printitems.php", function(data) {
//var result=data.result;
self.html(data);
}, "html");
});
});
});
};
答案 1 :(得分:0)
在你的最后一行'));'应该是'});
$(document).ready(function(){
$(".img a").live('pageshow', function(event, ui) {
var item=$(this).attr( 'href' );
var action="check";
jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
var result=data.result;
if (result="saved") {
$("span", this).html("Saved");
$(this).attr("href","saved");
}
}, "json")
.error(function() {
alert("error: unable to contact web service");
});
});
});