如果返回值为true,则在AJAX中添加一个类

时间:2012-07-02 14:35:27

标签: jquery ajax

下午 我想知道如何根据Web服务的返回值添加一个类。

$.each(result, function (index, res) {
            new_record = "<tr>" +
                         "<th scope=\"row\" class=\"t-left\"><a href=\"editproduct.aspx?sku=" + res.sku + "\" title=\"Edit this product listing\">" + res.title + "</a></th>" +
                         "<td><a href=\"http://www.amazon.co.uk/dp/" + res.asin + "\" target=\"_blank\" title=\"Visit the Amazon product listing\" >" + res.asin + "</a></td>" +
                         "<td>" + res.sku + "</td>" +
                         "<td>" + res.stock + "</td>" +
                         "<td> £" + res.price + "</td>" +
                         "<td>" + res.live + "</td>" +
                         "</tr>";

            $('#dataResults').append(new_record);

我还返回了一个值stockUpdated,我想添加一个类来改变stock表字段的颜色,具体取决于它是否为真。

我无法记住我之前是如何做到这一点的,但它类似于if语句

非常感谢提前。

艾伦

2 个答案:

答案 0 :(得分:2)

假设我已正确理解您的问题,您可以将class属性附加到字符串,具体取决于您的stockUpdated属性是否为true:

$.each(result, function (index, res) {
    new_record = "<tr>" +
                 "<th scope=\"row\" class=\"t-left\"><a href=\"editproduct.aspx?sku=" + res.sku + "\" title=\"Edit this product listing\">" + res.title + "</a></th>" +
                 "<td><a href=\"http://www.amazon.co.uk/dp/" + res.asin + "\" target=\"_blank\" title=\"Visit the Amazon product listing\" >" + res.asin + "</a></td>" +
                 "<td>" + res.sku + "</td>" +
                 "<td" + (res.stockUpdated ? " class='updated'" : "") + ">" + res.stock + "</td>" +
                 "<td> £" + res.price + "</td>" +
                 "<td>" + res.live + "</td>" +
                 "</tr>";

    $('#dataResults').append(new_record);
});

我已经用三级条件内联完成了因为我喜欢将字符串连接在一起。您可以轻松地停止上一个td末尾的连接,然后在下一个if周围打开完整的td语句。

答案 1 :(得分:0)

您可以创建一个变量并使用class-attribute填充它:

var classAttr = (res.StockUpdated) ? "class=\"updated\"" : "";

然后你可以这样做:

"<td " + classAttr + ">" + res.stock + "</td>" +

完整示例:

$.each(result, function (index, res) {
        var classAttr = (res.StockUpdated) ? "class=\"updated\"" : "";
        new_record = "<tr>" +
                     "<th scope=\"row\" class=\"t-left\"><a href=\"editproduct.aspx?sku=" + res.sku + "\" title=\"Edit this product listing\">" + res.title + "</a></th>" +
                     "<td><a href=\"http://www.amazon.co.uk/dp/" + res.asin + "\" target=\"_blank\" title=\"Visit the Amazon product listing\" >" + res.asin + "</a></td>" +
                     "<td>" + res.sku + "</td>" +
                     "<td " + classAttr + ">" + res.stock + "</td>" +
                     "<td> £" + res.price + "</td>" +
                     "<td>" + res.live + "</td>" +
                     "</tr>";

        $('#dataResults').append(new_record);