将PHP变量称为函数值

时间:2015-06-11 20:10:35

标签: javascript php jquery variables sharepoint

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

我希望每天更改此值(忽略月末),因此我创建了一个函数,如果月份的日期是奇数或偶数,则设置1或0。

我的问题是使用我的函数的输出作为这个其他函数的值。 我想我需要做一些连接,但我很困惑JQuery开始和PHP结束的地方

下面的代码,它不可复制,因为这也是由两个额外的SharePoint webparts提供,它们生成每个手风琴作品的内容,所以我只包含了代码的内容。

  

查找$ 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> 

2 个答案:

答案 0 :(得分:0)

您需要使用PHP开始和结束标记来包围PHP,并在Javascript / jQuery中使用PHP值,它需要得到回应。以下是适用的部分:

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

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

答案 1 :(得分:0)

我尝试过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中调用它...

我很感激帮助并为我的无知道歉