两个javascript"动作"在两个不同页面中的一个函数内部

时间:2015-08-29 21:30:58

标签: javascript php

我尝试使用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时,它不会执行其余的代码。

2 个答案:

答案 0 :(得分:2)

包含以下代码的测试文件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>
  • ...

答案 1 :(得分:1)

像这样修改你的功能,它会起作用

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';
    }
}; 

我希望这能解决你的问题