1

希望有人会知道如何做到这一点......我希望显示/隐藏取决于单击的图像/图标。

例如,如果单击请求图标,颜色框弹出窗口将显示请求和Offereddiv。而如果单击 Accepted 图标,颜色框弹出窗口将显示 Accepted 和OfferedDivs 但隐藏Requestdiv。

以下是PHP中的一些:

      <div <?php if($_GET['status']=="Requested"){ echo "class=iconActive";}else {echo "class=iconInactive";}?>>
        <a href="/index.php/agent-appointment-request-list/?status=Requested">
        <img src="components/com_agent/images/requestedIcon_s1.png" id="requestedIcon" alt="" /></a>
        <div class="iconTitle">Requested</div>
        </div>

这是我拥有的用于显示/隐藏的 jquery:

 $(".slidingDivReq").show();
 $("#show_hideReq").show();

 $('#show_hideReq').click(function(){
     $(".slidingDivReq").slideToggle();
 });

更新:这是将显示/隐藏的内容部分。:

<div class="AppointmentTitleFirst">
    <img src="components/com_agent/images/req_appt_title_s1.png" class="ApptIcon"></img>
    <h1>Requested Appointment # <?php echo $this->appointment->id;?>         Status:<?php echo $this->appointment->status_name;?></h1>
    <img src="components/com_agent/images/dropdown_arrow_s1.png" class="ApptDropDownArrow1" id="show_hideReq"></img>
    </div>
    <div class="clearFloat"></div>
    <div id="requestedAppointmentContent" class="slidingDivReq">
 Content here....
 </div>

几乎,我不确定如何GET['status']使用它并将其与显示/隐藏一起使用。因此,如果GET['status'] == Requested,那么show_hideReq将是.show(),但我在颜色框中的其他 div 将使用.hide();(除非它是一个需要其他一些 div 的页面.show()

希望有人知道。

4

2 回答 2

3

我不确定如何使用 GET['status'] 并将其与显示/隐藏一起使用

您可以使用隐藏元素作为变量,以便您可以GET['status']在 jquery 中进行测试。在您的 php 页面中添加此元素:

<input type="hidden" id="StatusId" value="<?php echo GET['status']; ?>"/>

然后你可以这样做:

$('#div').click(function(){
   var statusId = $("#StatusId").val();
   If( statusId  === 0){
       //Do something
   }else{
       // Do something elese
   }
});

应该在重定向到此 php 页面的 url 中发送status值,例如从 js 文件中,它看起来像:

 var url = "http://localhost/yourcurrentphpfile.php?Status=" + somevalue;
 window.location.href = url;

<a>或者您的 php 页面中重定向到此页面的 clicked标记应该具有如下href所示的属性http://localhost/yourcurrentphpfile.php?Status=somevalue

yourcurrentphpfile.php是包含隐藏输入的 php 页面。

于 2012-04-17T15:14:49.803 回答
1

您最好使用$(element).css("dissplay","none");隐藏元素并$(element).css("dissplay","inherit");显示它。

同样在您的 PHP 中,您最好使用它if (isset($_GET['status']) && !empty($_GET['status']))来确保您具有价值。此外,您需要编辑 ECHO 指令以:

echo 'class = "iconActive"';

echo 'class = "iconInactive"';

按照您的代码逻辑,

$(function(){ //on page load
     $("div.classActive").load(function(){
         //Do whatever you want when the div is active such as show/hide elements
     })
     $("div.classInactive").load(function(){
         //Do whatever you want when the div is inactive such as show/hide elements
     })
})

只有 2 个将被执行,因为当页面呈现时,只有其中一个会存在。

于 2012-04-17T15:30:40.413 回答