如果页面刷新或表更新,背景颜色将如何保留

时间:2015-09-15 07:51:43

标签: javascript php jquery html css

当客户订购他/她的订单时,将保存到数据库中,所有项目均为Pending,我将批准或取消他/她的订单。点击Approve button后,待处理订单将为Delivered,如果Cancel button,订单将为Cancelled。现在我想要css success用于所有td" Delivered"和那些被取消的人{css danger。即使我刷新页面,背景颜色仍然存在。

这是我的表格如下:

Date Ordered         Order No.     Total item(s) Total Amount   Order Status
 09-11-2015      15-09-0000000001        3          213.85        Pending
 09-11-2015      15-09-0000000002        1          130.00        Pending
 09-11-2015      15-09-0000000003        2          134.07        Pending
 09-11-2015      15-09-0000000004        4          846.41        Pending

       <button>Approve Order</button> <button>Cancel Order</button>

这是我的PHP

你可以看到我的td(order_status)。如果success是&#34;已发送&#34;我想在css中调用order_status Approve button当我点击Cancel button时。如果order_status是&#34;已取消&#34;点击danger,在css

中拨打<?php if(!session_id()){ session_start(); } include_once '../fileadmin/dbinit.php'; $todo = $_POST['todo']; $con = mysql_connect("localhost","root","","atec_coop"); if (!$con){ die("Can't connect".mysql_error()); } mysql_select_db("atec_coop",$con); switch ($todo) { case "display": $sql = "SELECT * from tb_empgroc_master"; // $myData = mysql_query($sql,$con); $result = $atecCoop->query($sql); $html = ''; $ctr = 0; if ($result->num_rows){ while ($row = $result->fetch_object()){ $id = $row->empgrocmstID; $date_ordered = date("m-d-Y"); $order_no = date($row->order_no); $total_items = number_format($row->total_items); $total_amount = number_format($row->total_amount,2); $order_status = wordwrap($row->order_status); $Order = $row->empgrocmstID; $html .= "<tr id='$id'>"; $html .= "<td class='date_ordered' style='text-align:center'>$date_ordered</td>"; $html .= "<td class='order_no' style='text-align:center'>$order_no</td>"; $html .= "<td class='total_items' style='text-align:right'>$total_items</td>"; $html .= "<td class='total_amount' style='text-align:right'>$total_amount</td>"; $html .= "<td id='$Order' class='order_status' style='text-align:center'>$order_status</td>"; $html .= "</tr>"; } } echo $html; break; case "Cancel": $Cancelquery = "UPDATE tb_empgroc_master SET order_status='Cancelled' WHERE empgrocmstID='".$_POST['empgrocmstID']."'"; mysql_query($Cancelquery, $con); break; case "Approve": $Approvequery = "UPDATE tb_empgroc_master SET order_status='Delivered' WHERE empgrocmstID='".$_POST['empgrocmstID']."'"; mysql_query($Approvequery, $con); break; } ?>

如果是if语句,我会怎么做?

css

这是我对按钮的ajax调用

您可以看到评论background color's。这有效但当我刷新页面时updateTable();消失了。我已经评论过background color's,因为background color因为表格更新而消失了。因此,即使刷新页面,我也希望td $("#Approve").click(function(e) { e.preventDefault(); var id = $('#cLoanOut tr.active').attr('id'); bootbox.confirm("Are you sure you want to approve order?","No","Yes",function(r){ if(r) { $.ajax({ url : "<?php echo $server_name; ?>/emcis_coopmain/process/PHP_groceryReleasingProcess.php", type : "POST", async : false, data : { empgrocmstID:id, todo:"Approve" }, success:function(result){ // $('tr.active td.order_status').css("background-color", "green"); bootbox.alert('Order Approved',function(){ $("#Approve").attr("disabled", true); }); // updateTable(); } }); } else { } }); }); $("#Cancel").click(function(e) { e.preventDefault(); var id = $('#cLoanOut tr.active').attr('id'); // var x = $('table tr.active').find('td.class').html(); bootbox.confirm("Are you sure you want to cancel order?","No","Yes",function(r){ if(r) { $.ajax({ url : "<?php echo $server_name; ?>/emcis_coopmain/process/PHP_groceryReleasingProcess.php", type : "POST", async : false, data : { empgrocmstID:id, todo:"Cancel" }, success:function(result){ // $('tr.active td.order_status').css("background-color", "red"); bootbox.alert("Order Cancelled",function(){ $("#Cancel").attr("disabled", true); }); // updateTable(); } }); } else { } }); }); 保持不变。

.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
    background-color: #607d8b;
    color: #FFFFFF;
}
div.well{
    background-color: #fff9c4;
    color: #000000;
}
#cLoanOut .active{
    background-color: #2c9e94;
    color: #FFFFFF;
}
.table-hover > tbody > tr.active > td.danger:hover {
     background-color: red !important;
}
.table-hover > tbody > tr.active > td.warning:hover {
     background-color: yellow !important;
}
.table-hover > tbody > tr.active > td.success:hover {
     background-color: green !important;
}

这是我的CSS

<form class="form-horizontal" id="main-form" action="PHP_groceryReleasingProcess.php" method="POST">
    <table class="tablesorter table table-bordered table-condensed" id="cLoanOut" style="table-layout: fixed;">
        <colgroup>
            <col width="110">
            <col width="130">
            <col width="50">
            <col width="60">
            <col width="90">
        </colgroup>
        <thead>
            <tr>
                <th>Date Ordered</th>
                <th>Order No.</th>
                <th>Total Item(s)</th>
                <th>Total Amount</th>
                <th>Order Status</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
    <button id="Approve" role="button" class="btn btn-success" disabled>Approve Order</button>
    <button id="Cancel" role="button" class="btn btn-danger" disabled>Cancel Order</button>
</form>

我的表格

danger

我想在特定的td中将successCSS称为order_status。 &#39; empgrocmstID&#39;是数据库中的自动增量字段。我知道如何通过将其置于class='order_status success' ... class='order_status danger'order_status的td来称呼成功和危险,但这不是重点。

我在案例中尝试了这段代码&#34; display&#34;但是if ($order_status===''){ $html .= "<td id='$Order' class='order_status success' style='text-align:center'>$order_status</td>"; }else if($order_status===''){ $html .= "<td id='$Order' class='order_status danger' style='text-align:center'>$order_status</td>"; } 的td&f没有显示出来。

{{1}}

感谢您的帮助,谢谢

2 个答案:

答案 0 :(得分:0)

您可以在数据库中创建状态的另一行。 Judt认为1 =批准,2 =未批准。 现在你可以制作一个简单的if并用2个不同的css

回显它

答案 1 :(得分:0)

您的最后一点PHP代码令人困惑,因为您正在测试$order_status是否为空字符串。这可以解释为什么你不再看到order_status的td

同样的想法,就这样:

$html .= "<td id='$Order' class='order_status ".strtolower($order_status)."' style='text-align:center'>$order_status</td>";

这将直接在class属性中打印order_status的值,无需您进行测试。

此外,在您的javascript中,您正在更改td的CSS。相反,您应该只将order_status的值添加到td的类中。

$('tr.active td.order_status').addClass("success");