繁体   English   中英

需要在PHP中通过下拉菜单选择动态更改日期变量

[英]Need to change date variable with drop down menu selection dynamically in PHP

我有一个带标题栏的php文件(index.php),标题栏保存的日期为(MM YYYY)。 日期从另一个名为latest_update.php的php文件中提取。 使用以下语法在latest_update文件中列出了日期

$latest_run="April 2017";
$latest_run2="May 2017";

$ latest_run日期从文件中剥离,并使用以下命令传递给变量。

include_once "scripts/latest_update.php";
$mainTitle = "Content Title";
$secondaryTitle = $latest_run;
$thirdTitle = $latest_run2;

标题和日期使用跨度保存在div中

   <div class="titleBar">
   <span class="mainTitle"><?php echo $mainTitle ?></span></br>            
   <span Class="secondaryTitle"><?php echo $secondaryTitle ?></span>
   </div>

我有一个选择菜单,当我更改选择菜单时,我要更改secondaryTitle的选项。 因此,如果我选择Run2作为选项,我希望标题更改以反映与$ thirdTitle相对应的2017年5月。 如果选择Run1,请参考2017年4月将其更改为Secondarytitle。选择菜单保留在表单中。

 <form id="myForm">
 <select style="visibility:visible;position:relative;left:0px;top:1px;font-size:12px" name="selmenu" id="selmenu">
 <option value="Run1">Run1</option>
 <option value="Run2">Run2</option>
 <option value="Run3">Run3</option>
 </select>
 </form>

我是php的新手,无法找到解决方案来完成此操作。 任何帮助,将不胜感激。

尝试以下操作以达到此效果:(需要JQuery和Ajax)

JS -gets data from your form selection, sends it to your php file, then appends the response to the title 


    $(document).ready(function()
    var runChoice = $("#selectRun").val();
    $.ajax({
              url: 'latest_update.php',
              type: 'POST',
              data: {run:runChoice},
              success: function(response){
                  $(".secondaryTitle").append(response);
                }
    )};
)};

PHP Side-从ajax获取数据

$choice = $_POST['runChoice'];
if($choice == "Run1"){
    echo $latest_run;
}else if($choice == "Run2"){
    echo $latest_run2;
}else{
    echo $latest_run3;
}

这可以完全不用PHP文件来完成,但是如果不需要数据库相关的东西,可以将运行日期的值存储到数组中,然后仅根据所选选项更改标题,而无需使用ajax和附加。

要更改“ secondaryTitle”的内容,您必须使用以下javascript:

function setTitle(select) {
        var value = select.options[select.selectedIndex].value;

        if (value == "Run2") {
            var secondTitle = document.getElementsByClassName('secondaryTitle')[0].innerHTML;
            document.getElementsByClassName('mainTitle')[0].innerHTML = secondTitle;
        }
    }

并将select标签更改为:

<select style="visibility:visible;position:relative;left:0px;top:1px;font-size:12px" name="selmenu" id="selmenu" onchange="setTitle(this);">
    <option value="Run1">Run1</option>
    <option value="Run2">Run2</option>
    <option value="Run3">Run3</option>
</select>

暂无
暂无

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

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