0

我正在尝试在页面加载时运行一些 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>
4

2 回答 2

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");

            });
        });
    });
 };
于 2012-11-08T12:10:10.763 回答
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"); 
        });
    });
});
于 2012-11-08T12:14:04.043 回答