[英]Updated post: How do I get a JavaScript factorial programs' loop to show the working used? See requirements
[英]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.