-1

我已经构建并订购了输出当前变量的对象,如下所示。

我希望警报是...两个 div 突出显示为绿色。我假设我需要合并一些 jquery .. 这就是我所拥有的:

<div class='address_info left'>
            <h3>Billing Info</h3>
            <ul>
                <li><label>Account No: </label><?php echo $order->patient_id;?></li>
                <li><label>Name: </label><?php echo trim($order->billing_address['name']); ?></li>
                <li><label>Address 1: </label><?php echo trim($order->billing_address['addr1']);?></li>
                <li><label>Address 2: </label><?php echo trim($order->billing_address['addr2']);?></li>
                <li><label>City, State, Zip:</label><?php echo trim($order->billing_address['city'] . ' ' . $order->billing_address['state'] . ' ' . $order->billing_address['zip']);?></li>
                <li><label>Email: </label><a href='mailto:<?php echo $order->customer_email;?>'>Send Customer Email</a></li>
                <li><label>Phone: </label><?php echo $order->customer_phone;?></li>
            </ul>
        </div>  
        <div class='address_info right'>
            <h3>Shipping Info</h3>
            <ul>
                <li><label>Name: </label><?php echo $order->shipping_address['name']; ?></li>
                <li><label>Address 1: </label><?php echo $order->shipping_address['addr1'];?></li>
                <li><label>Address 2: </label><?php echo $order->shipping_address['addr2'];?></li>
                <li><label>City, State, Zip:</label><?php echo $order->shipping_address['city'] . ' ' . $order->shipping_address['state'] . ' ' . $order->shipping_address['zip']?></li>
                <li><label></label></li>
                <li><label></label></li>
                <li><label></label></li>
            </ul>
        </div>

我目前在悬停时使用一些 CSS 来获取颜色。

div.address_info.left:hover {
    background: red;
    color: #fff; }

div.address_info.right:hover {
    background: #5C991F;
    color: #fff; }

div.order_info:hover {
    background: #3366FF;
    color: #fff; }

所以这是我的更新:

if (count(array_diff($this->billing_address, $this->shipping_address)) > 0)
            return false;
        else
            return true;

我想我真正的问题是如何在我的数据上运行 jquery 事件。很抱歉一开始又如此含糊不清。我想我们没有走对路。不过希望对 jQuery 有一些帮助。提前致谢。

感谢所有的帮助..我想通了!

if($order->check_addresses())
    $class='same';
else
    $class='different';

    <div class='address_info left <?php echo $class; ?>'>
         <div class='address_info right <?php echo $class; ?>'>

而不是CSS

div.same {background-color: green;}
div.different {background-color: red;}
4

2 回答 2

2

包含 PHP 和 jquery 是正确的。您可以使用 JavaScript 在客户端或使用 PHP 在服务器上执行此操作。试一试,遇到问题再回来。

在 PHP 中,您可以使用比较的结果在 div 上设置 CSS 类。然后在样式表中根据该类设置背景颜色。

在 JavaScript 中它会更复杂,但不需要访问服务器。

于 2013-01-19T00:16:27.290 回答
2

使用隐藏的输入你可以很容易地做到这一点。这是使用您的代码的示例。

 <!DOCTYPE html>
<html lang="en">
  <head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function()
    { 
    var BillAddy = $("#billing").val();
    var ShipAddy = $("#shipping").val();

    if(BillAddy == ShipAddy)
        {
            $(".address_info ").css("backgroundColor","#00FF00");
            return true;
        }
    return false;
    });
</script>
  </head>
  <body>
<div class='address_info left'>
            <h3>Billing Info</h3>
            <ul>
            <input type="hidden" id="billing" value="<?php echo $order->billing_address; ?>" />
                <li><label>Account No: </label><?php echo $order->patient_id;?></li>
                <li><label>Name: </label><?php echo trim($order->billing_address['name']); ?></li>
                <li><label>Address 1: </label><?php echo trim($order->billing_address['addr1']);?></li>
                <li><label>Address 2: </label><?php echo trim($order->billing_address['addr2']);?></li>
                <li><label>City, State, Zip:</label><?php echo trim($order->billing_address['city'] . ' ' . $order->billing_address['state'] . ' ' . $order->billing_address['zip']);?></li>
                <li><label>Email: </label><a href='mailto:<?php echo $order->customer_email;?>'>Send Customer Email</a></li>
                <li><label>Phone: </label><?php echo $order->customer_phone;?></li>
            </ul>
        </div>  
        <div class='address_info right'>
            <h3>Shipping Info</h3>
            <ul>
                <input type="hidden" id="shipping" value="<?php echo $order->shipping_address; ?>" />
                <li><label>Name: </label><?php echo $order->shipping_address['name']; ?></li>
                <li><label>Address 1: </label><?php echo $order->shipping_address['addr1'];?></li>
                <li><label>Address 2: </label><?php echo $order->shipping_address['addr2'];?></li>
                <li><label>City, State, Zip:</label><?php echo $order->shipping_address['city'] . ' ' . $order->shipping_address['state'] . ' ' . $order->shipping_address['zip']?></li>
                <li><label></label></li>
                <li><label></label></li>
                <li><label></label></li>
            </ul>
  </body>
</html>
于 2013-01-19T01:29:46.320 回答