两个网页上的onChange事件

时间:2013-04-09 04:45:36

标签: php drop-down-menu web onchange

我有两个网页。一个是main.php,另一个是combo.php。 combo.php包含一个下拉列表,我已将此页面包含在我的main.php中。

我想要做的是当有人在我的下拉列表中选择一个选项时,应该有一个警告框指示我选择的项目。

main.php

<html>
  <body>
    <form>
      //some elements
      <?php include 'combo.php';?>
    </form>
  </body>
</html>

combo.php

<html>
  <body>
    <form>
      //some elements
      <select name="combo">
        <option value="1">America</option>
        <option value="2">England</option>
        <option value="3">India</option>
        <option value="4">Japan</option>
      </select>
      //some elements
    </form>
  </body>
</html>

我无法对combo.php进行任何更改。 onChange事件和脚本应该在我的main.php中。 我不知道该怎么做,我不知道这是否可行。 任何有关此事的帮助将受到高度赞赏。 感谢名单。

4 个答案:

答案 0 :(得分:3)

您可以使用Jquery,因为您必须包含此脚本,

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function() {

    $("#getSelect").change(function() {
        alert($(this).val());
    });

});
</script>

其中getSelect是select control的id。

之后添加以下php代码。

<form>
      //some elements
      <select name="combo" id="getSelect" onChange="return getSelect(this.value)">
        <option value="1">America</option>
        <option value="2">England</option>
        <option value="3">India</option>
        <option value="4">Japan</option>
      </select>
      //some elements
   </form>

答案 1 :(得分:2)

添加如下的javascript函数:

function getValue(val) {
    alert(val);
}

在你的下拉列表中,像on this一样在onChange Property上添加这个函数

<select name="combo" onchange="getValue(this.value);">
    <option value="1">America</option>
    <option value="2">England</option>
    <option value="3">India</option>
    <option value="4">Japan</option>
</select>

当您更改下拉列表的值时,您应该会在警告框中看到这些值。

答案 2 :(得分:1)

如果您可以使用jQuery,只需在main.php

中添加一些代码即可
$(document).ready(function() {

    $("#idOfYourSelect").change(function(changeEvent) {
        alert("Your value : " + $(this).val());
    });

});

假设您的<select>至少有一个ID idOfYourSelect(或一个名称,或一个css类名称 - 允许您从javascript代码中检索它的内容)

这会在change事件上添加一个监听器,并在每次更改值时运行回调。

如果您不能使用jQuery,那将会更复杂,您必须使用浏览器差异,并使用addEventListerattachEvent添加您的监听器。

attachEvent documentation(旧IE)

对于Firefox,webkit等

addEventListener

我建议您使用jQuery,它将为您处理所有这些差异。

答案 3 :(得分:0)

好的,如果你不能改变它,那么如果你使用JQuery,你可以像这样添加

$('select[name*="combo"]').change(function() {
      var str = $('select[name*="combo"]').val();
      alert (str);

  });

在$(document).ready(function)

中添加