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

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

文字列の連結をすべてまとめておきたいという理由だけで、3次条件付きでインライン化しました。前の最後で連結を簡単に停止し、次のステートメントtd全体をラップすることができます。iftd

于 2012-07-02T14:40:04.853 に答える
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);
于 2012-07-02T14:41:03.850 に答える