如何获取javascript以查看更新的选择值?

时间:2014-05-14 23:02:09

标签: javascript php getelementbyid

我有一个包含大约100个下拉菜单的页面,我需要将其传递给另一个。所以,我已将所有内容放入我通过javascript发送的数组中。但是,我不确定如何让javascript在发送之前查看下拉列表的更改值。我嘲笑了一些代码,让你了解问题。它仅在页面初始化时发送下拉框的值。任何帮助将不胜感激。

<select id="mydropdown">
  <option value="Milk">Fresh Milk</option>
  <option value="Cheese">Old Cheese</option>
  <option value="Bread">Hot Bread</option>
</select>

<script>
var data = new Array();

data[0] = document.getElementById("mydropdown").value;
</script>


<form name="data" method="POST" action="passdata1b.php">
<input type="hidden" name="data">
</form>
<script>
function sendData()
{
  // Initialize packed or we get the word 'undefined'
  var packed = "";
  for (i = 0; (i < data.length); i++) {
    if (i > 0) {
      packed += ",";
    }
    packed += escape(data[i]);
  }
  document.data.data.value = packed;
  document.data.submit();
}
</script>
<h1>This is what the array contains:</h1>
<ul>
<script>
  for (i = 0; (i < data.length); i++) {
    document.write("<li>" + data[i] + "</li>\n");
  }
</script>
</ul>
<a href="javascript:sendData();">Go to passdata1b.php</a>

2 个答案:

答案 0 :(得分:1)

为什么不能说出这个逻辑:

var data = new Array();
data[0] = document.getElementById("mydropdown").value;

sendData()功能中?


评论是否需要一个示例,但这应该是一个非常简单的修复。这样,当您单击该链接并运行sendData()时,它将解析mydropdown值...而不是在页面加载时执行此操作。

答案 1 :(得分:1)

Sam的回答很好,除了......

data[0] = document.getElementById("mydropdown").value;

..因为它是一个下拉菜单而无法工作。而是获取所选选项的值。请改用:

var zeData = document.getElementById("mydropdown");
data[0] = zeData.options[zeData.selectedIndex].value;