繁体   English   中英

调用PHP变量作为函数值

[英]Calling PHP variable as function value

我在共享点站点上继承了一段代码,并且基本理解了它,但是我迷失了PHP。 该代码是一个手风琴: https : //jqueryui.com/accordion/并且它需要使用值1或0来确定默认显示哪个。

我希望该值每天都更改(忽略月末),所以我制作了一个函数,如果月份中的天是奇数或偶数,则将其设置为1或0。

我的问题是使用我的函数的输出作为该另一个函数的值。 我想我需要做一些串联,但是我对JQuery开始和PHP结束的位置感到困惑

在下面的代码中,它是不可复制的,因为这也由两个附加的SharePoint Web部件提供,它们生成每个手风琴的内容,因此,我仅包含代码的内容。

寻找$ checkActive这是在我的函数中使用的,并且是我最后一行所需要的值

 jQuery(document).ready(function($) {
     var inDesignMode = document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value;
      if (inDesignMode == "1")
      {

      }
      else
      {
         //Put the WebPart Title for all the Web Parts you wish
         //to put into the jQuery UI Accordion into the array below.
         //Accordian(["MY TO-DO LIST","MY COLLABORATION","MY TEAMSITES"]);
     //Accordian(["MY FAVORITES","MY TEAMSITES","MY COLLABORATION"]);
        Accordian(["MY COLLABORATION","IN THE NEWS"]);

      }

        });

function Accordian(webPartTitles)
{
    for(index in webPartTitles)
    {
        var title = webPartTitles[index];
        $("#accordian").append('<h3>'+title+'</h3>');

        var addedToAccordion = 'false';
        $("span:contains('"+title+"')").each(function(){

            if ($(this).html() == title && addedToAccordion == 'false' ){
                if($(this).closest("span").closest("[id^='MSOZoneCell_WebPart']").contents().length > 0)
               {
                   $(this).closest("span").hide().closest("[id^='MSOZoneCell_WebPart']").contents().appendTo($("#accordianTemp")); 
                   addedToAccordion = 'true';
                    $("span:contains('"+title+"Link')").each(function(){

                         if ($(this).html() == title + "Link"){
                            if($(this).closest("span").closest("[id^='MSOZoneCell_WebPart']").contents().length > 0)
                             {
                                 $(this).closest("span").hide().closest("[id^='MSOZoneCell_WebPart']").contents().appendTo($("#accordianTemp")); 
               }
            }

        });

               }
            }
        });
        $("#accordian").append("<div>" + $("#accordianTemp").html() + "</div>");
        $("#accordianTemp").empty();
              }

    $dw = date( "j", time());
    $checkActive = ($dw % 2 == 0) ? '1' : '0'; // If the day number is Odd, we will show My Collaboration

下面的活动值通常是接受1或0的值,但我希望它采用我的变量值

    $("#accordian").find("div").remove( ".ms-webpart-chrome-title" );
    $("#accordian").accordion({ heightStyle: "content" }, {active:$checkActive });
}</script> 

您需要在PHP周围加上PHP的开始和结束标记,并在Javascript / jQuery中使用PHP值,需要将其回显。 这些是适用的部分:

<?php
$dw = date( "j", time());
$checkActive = ($dw % 2 == 0) ? '1' : '0';
?>

$("#accordian").accordion({ heightStyle: "content" }, {active: "<?php echo $checkActive; ?>"});

我尝试了MattyF和Venkat的建议,但无法正常工作,最终我要做的就是仅使用Java创建解决方案。

var day = new Date().getDate(); var checkActive; if (day % 2 == 0) { // If the day number is Odd, we will show My Collaboration checkActive = 1; } else { checkActive = 0; } $("#accordian").find("div").remove( ".ms-webpart-chrome-title" ); $("#accordian").accordion({ heightStyle: "content" }, {active: checkActive});

我只是在尝试传递我设置的不包含逻辑的变量后得出了这个结论。 当使用Java VAR进行工作时,构建IF是一件快速的事。 就像我在问题中说的那样,我是这些语言的新手,所以当我第一次看到$时,我就假定了PHP,尽管后来我意识到这只是在JQuery中调用THIS ...

感谢您的帮助,对于我的无知表示歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM