Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按钮将多个下拉列表中的选定项复制到文本框_Javascript_Html_Drop Down Menu - Fatal编程技术网

Javascript 按钮将多个下拉列表中的选定项复制到文本框

Javascript 按钮将多个下拉列表中的选定项复制到文本框,javascript,html,drop-down-menu,Javascript,Html,Drop Down Menu,我正在尝试将多个下拉列表的选择复制到文本框中。目前我在下面编写的代码只会复制第一个下拉列表。我希望所有四个下拉列表中的每个选项都复制到文本框中的一行中,并能够添加多个变体来创建一个列表。有什么建议吗 此外,我还想尝试更进一步,让第二个和第三个下拉列表根据之前的下拉选择动态更改。例如,在下拉列表1中选择Building One会将下拉列表2更改为仅显示Dept.One。这是一个多一点的工作,所以如果有人能告诉我如何集成这两个功能的正确方向,我将不胜感激 提前感谢您的帮助 函数复制(){ var

我正在尝试将多个下拉列表的选择复制到文本框中。目前我在下面编写的代码只会复制第一个下拉列表。我希望所有四个下拉列表中的每个选项都复制到文本框中的一行中,并能够添加多个变体来创建一个列表。有什么建议吗

此外,我还想尝试更进一步,让第二个和第三个下拉列表根据之前的下拉选择动态更改。例如,在下拉列表1中选择Building One会将下拉列表2更改为仅显示Dept.One。这是一个多一点的工作,所以如果有人能告诉我如何集成这两个功能的正确方向,我将不胜感激

提前感谢您的帮助

函数复制(){
var sel=document.getElementById(“名称”);
var text=sel.options[sel.selectedIndex].value;
var out=document.getElementById(“输出”);
out.value+=文本+“\n”;
}

无标题
一号楼
二号楼
三号楼
四号楼
第一部门
二部
第三部门
第四部门
文件夹一
文件夹二
文件夹三
文件夹四
只读
读+写

在过去的几周里,我一直在试验AngularJS JavaScript库,它使完成类似任务变得非常简单。以下是如何使用AngularJS库实现这一点:

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</head>

<body>

<div ng-app="" ng-controller="textboxController">
  <select id="names" style="vertical-align: top;" ng-model="master.building">
    <option value="Building One" selected>Building One</option>
    <option value="Building Two">Building Two</option>
    <option value="Building Three">Building Three</option>
    <option value="Building Four">Building Four</option>
  </select>
  <select id="names" style="vertical-align: top;" ng-model="master.department">
    <option value="Dept One" selected>Dept One</option>
    <option value="Dept Two">Dept Two</option>
    <option value="Dept Three">Dept Three</option>
    <option value="Dept Four">Dept Four</option>
  </select>
  <select id="names" style="vertical-align: top;" ng-model="master.folder">
    <option value="Folder One" selected>Folder One</option>
    <option value="Folder Two">Folder Two</option>
    <option value="Folder Three">Folder Three</option>
    <option value="Folder Four">Folder Four</option>
  </select>
  <select id="names" style="vertical-align: top;" ng-model="master.read">
    <option value="Read Only" selected>Read Only</option>
    <option value="Read Write">Read + Write</option>
  </select>

  <input type="button" ng-click="copy();" value="ADD" style="vertical-align: top;">
  <br />
  <textarea id="output" rows="5" style="vertical-align: top;">
{{user.building}}
{{user.department}}
{{user.folder}}
{{user.read}}
  </textarea>
</div>

<script>
    function textboxController($scope){

        $scope.master={
            building: "Building One",
            department: "Dept One",
            folder: "Folder One",
            read: "Read Only"
            };

        $scope.copy = function(){
            $scope.user=angular.copy($scope.master);
        };

    }

</script>

</body>

</html>

无标题
一号楼
二号楼
三号楼
四号楼
第一部门
二部
第三部门
第四部门
文件夹一
文件夹二
文件夹三
文件夹四
只读
读+写

{{user.building} {{user.department} {{user.folder}} {{user.read} 函数textboxController($scope){ $scope.master={ 大楼:“一号楼”, 部门:“第一部门”, 文件夹:“文件夹一”, 阅读:“只读” }; $scope.copy=函数(){ $scope.user=angular.copy($scope.master); }; }
您在同一文档中多次使用了
id=“name”
id
用于识别页面上的单个元素。您可以使用
class=”“
来寻址多个元素,然后在集合中迭代。@Jasonaler在ID部分击败了我。但是是的,这是你的第一个问题。你剩下的问题很模糊,你自己试过什么?尝试研究
addEventListener()
以在
更改时执行某些操作。