0

下午,我想知道如何根据 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,我想添加一个类来更改股票表字段的颜色,具体取决于这是否返回 true。

我不记得我以前是怎么做到的,但它类似于 if 语句

提前谢谢了。

艾伦

4

2 回答 2

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

我已经使用第三条件内联完成了它,只是因为我喜欢将字符串连接在一起。您可以轻松地在 previous 的末尾停止连接,td然后if在 next 周围包裹一个完整的语句td

于 2012-07-02T14:40:04.853 回答
0

您可以创建一个变量并使用类属性填充它:

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);
于 2012-07-02T14:41:03.850 回答