繁体   English   中英

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

[英]How do I get javascript to see updated select value?

我有一个页面,有大约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>

为什么你不能把这个逻辑:

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

sendData()函数中?


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

山姆的答案很好,除了......

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

..这不会起作用,因为它是一个下拉菜单。 而是获取所选选项的值。 请改用:

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

暂无
暂无

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

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