繁体   English   中英

一个函数在两个不同页面中的两个javascript“动作”

[英]Two javascript “actions” inside one function in two different pages

我正在尝试在custom.js文件中使用以下代码修改几个选择框。 每个ID在不同的页面中,而我在footer.php中使用的代码如下:

<script>
    var selectFunction = function() {
    document.getElementById('ofae').options[0].text = 'Artists';
    };
    var selectFunctionn = function() {
    document.getElementById('ofav').options[0].text = 'Artists';
    }; 
</script>

然后:

<?php
    // without if statement
    echo '<script type="text/javascript">  $(function(){  selectFunction();selectFunctionn(); }); </script>';
    ?>

问题是只有其中一个被执行,当我进入第2页并且第一个值为NULL时,它不会执行其余代码。

具有以下代码的测试文件test.php:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Test php echo script</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    </head>
    <body>
        <select id="ofav">
            <option value="">o1</option>
            <option value="">o2</option>
            <option value="">o3</option>
            <option value="">o4</option>
            <option value="">o5</option>
        </select>
        <select id="ofae">
            <option value="">o1</option>
            <option value="">o2</option>
            <option value="">o3</option>
            <option value="">o4</option>
            <option value="">o5</option>
        </select>
        <script>
        var selectFunction = function() {
        document.getElementById('ofav').options[0].text = 'Artists';
        document.getElementById('ofae').options[0].text = 'Artists';
        }
        </script>
        <?php
        // without if statement
        echo '<script type="text/javascript">  $(function(){  selectFunction();  }); </script>';
        ?>
    </body>
</html>

工作正常!

校验:

  • 如果没有输入错误
  • 如果PHP if语句正确
  • 如果有两个<select>
  • ...

像这样修改您的功能,它将起作用

var selectFunction = function() {
    if(document.getElementById('ofae') != null){
         document.getElementById('ofae').options[0].text = 'Artists';
    }
    else if(document.getElementById('ofav') != null){
         document.getElementById('ofav').options[0].text = 'Artists';
    }
}; 

我希望这能解决您的问题

暂无
暂无

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

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