4

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

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

主文件

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

组合.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

4 回答 4

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 是选择控件的 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>
于 2013-04-09T05:54:54.557 回答
2

添加一个像这样的javascript函数:

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

并在您的下拉列表中像这样在 onChange 属性上添加此功能

<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>

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

于 2013-04-09T04:54:41.177 回答
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 文档(适用于旧 IE)

Firefox、webkit 等的addEventListener

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

于 2013-04-09T05:03:14.473 回答
0

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

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

  });

在 $(document).ready(function) 中添加这个

于 2013-04-09T05:10:30.610 回答