基于另一个下拉列表的动态文本框和下拉列表 -javascript

1vehvehveh7

我需要目标下拉列表依赖于我的模型下拉列表。每当用户在目的地列表中选择一个选项时,就会生成文本框和标签。但是,我搞砸了我的 for 循环,所以每当用户添加目标时,模型 A.1 和模型 A.2 值都会显示出来,当用户选择模型 B 时,目标应该是模型 B 的。

请帮我。我仍在努力学习 html/javascript/jquery 这是我到目前为止的进展:

<!DOCTYPE html>
<html>
<head>

<style>
 th, td {
	 padding:15px;
	 font-weight: normal;
 }

 </style>
 
 <script type="text/javascript">
window.onload = function() {
document.getElementById("addbtn").addEventListener("click", function(){
 createOptionList();
 dynamicObjects();

});

};

function createOptionList() {

  var destination = document.getElementById("destination");
  var array = ["Model-A.1", "Model-A.2", "Model-A.3", "Model-A.4"];
  var selectList = document.createElement("select");
  
 

  selectList.setAttribute("id", "mySelect");
  destination.appendChild(selectList);


  for (var i = 0; i < array.length; i++) {

    var option = document.createElement("option");
	var des = document.getElementById("destination");
	var br = document.createElement("br");
	
    option.setAttribute("value", array[i]);
    option.text = array[i];
    selectList.appendChild(option);
	destination.appendChild(br);
	
	
  }

}

function dynamicObjects() {
	
  var cri = document.getElementById("criteria").value
  var criteria = document.getElementById("criteria");
  var qty = document.getElementById("qty");
  var cell = document.getElementById("cell");
  var option = document.getElementsByTagName ("option");
  var blank = "";


  for (var i = 0; i < option.length; i++ ){
	var wrapper = document.createElement("span");
	var textbox = document.createElement("input");
	var textbox1 = document.createElement("input");
	var br = document.createElement("br");
	blank = option[i].innerText;
	
	if (blank == "Model-A.1"){
		wrapper.className = blank;
		textbox.className = blank;
		wrapper.innerText = "Good/n";
		criteria.appendChild(wrapper);
		criteria.appendChild(br);
		qty.appendChild(textbox)
		qty.appendChild(br)
		cell.appendChild(textbox1)
		cell.appendChild(br)
				
	}	else if (blank == "Model-A.2"){
		wrapper.className = blank;
		textbox.className = blank;
		wrapper.innerText = "Fine/n";
		criteria.appendChild(wrapper);
		criteria.appendChild(br);
		qty.appendChild(textbox)
		qty.appendChild(br)
		cell.appendChild(textbox1)
		cell.appendChild(br)
		}
    }	
}

</script>
 
 
 
 
</head>
<body>

<div class = "container">
<table class = "table">

<tr><td> MODEL: </td><td>
  <select id="model" name="model" onchange="populate(this.id, 'destination')" >
    <option value="select">--Select Model--</option>
    <option value="Model-A">Model-A</option>
	<option value = "Model-B"> Model-B </option>
  </select> </td></tr>
</table>


<input type="button" id="addbtn" value="Add Destination"/>
<hr>

<table>
	<tr>
		<th><center> DESTINATION: </th></center>
		<th><center> CRITERIA: </th></center>
		<th><center> QTY: </th></center>
		<th><center> CELL: </th></center>
	</tr>	
	<tr>
		<td width = "140"><center><div id="destination" style = "width:230px; word-wrap: break-word"></center></div></td>
		<td width = "140"><center><div id="criteria" style = "width:350px; word-wrap: break-word"></center></div></td>
		<td width = "140"><center><div id = "qty" required></td></center>
		<td width = "140"><center><div id = "cell" required></td></center>

		
	</tr>
 </table> 
 </body>
</html> 
 

莱昂·阿加

我希望这是你要找的:

<!DOCTYPE html>
<html>
<head>

<style>
 th, td {
 padding:15px;
 font-weight: normal;
}

</style>

<script type="text/javascript">
window.onload = function() {
document.getElementById("addbtn").addEventListener("click", function(){
createOptionList();


});

};

function createOptionList() {

var destination = document.getElementById("destination");
var letter = document.getElementById('model').value;
if (letter!="select"){
var array = [`${letter}.1`, `${letter}.2`, `${letter}.3`, `${letter}.4`];
var selectList = document.createElement("select");
selectList.setAttribute("id", "mySelect");
destination.appendChild(selectList);

for (var i = 0; i < array.length; i++) {

var option = document.createElement("option");
var des = document.getElementById("destination");
var br = document.createElement("br");

option.setAttribute("value", array[i]);
option.text = array[i];
selectList.appendChild(option);
destination.appendChild(br);



}
dynamicObjects();
}

}

function dynamicObjects() {

var cri = document.getElementById("criteria").value
var criteria = document.getElementById("criteria");
var qty = document.getElementById("qty");
var cell = document.getElementById("cell");
var option = document.getElementsByTagName ("option");
var blank = "";


for (var i = 0; i < option.length; i++ ){
var wrapper = document.createElement("span");
var textbox = document.createElement("input");
var textbox1 = document.createElement("input");
var br = document.createElement("br");
blank = option[i].innerText;

if (blank == "Model-A.1"){
    wrapper.className = blank;
    textbox.className = blank;
    wrapper.innerText = "Good/n";
    criteria.appendChild(wrapper);
    criteria.appendChild(br);
    qty.appendChild(textbox)
    qty.appendChild(br)
    cell.appendChild(textbox1)
    cell.appendChild(br)

  } else if (blank == "Model-A.2"){
    wrapper.className = blank;
    textbox.className = blank;
    wrapper.innerText = "Fine/n";
    criteria.appendChild(wrapper);
    criteria.appendChild(br);
    qty.appendChild(textbox)
    qty.appendChild(br)
    cell.appendChild(textbox1)
    cell.appendChild(br)
    }
   }    
 }

</script>




</head>
<body>

<div class = "container">
<table class = "table">

<tr><td> MODEL: </td><td>
<select id="model" name="model" onchange="populate(this.id, 
'destination')" >
<option value="select">--Select Model--</option>
<option value="Model-A">Model-A</option>
  <option value = "Model-B"> Model-B </option>
</select> </td></tr>
</table>


<input type="button" id="addbtn" value="Add Destination"/>
<hr>

<table>
<tr>
    <th><center> DESTINATION: </th></center>
    <th><center> CRITERIA: </th></center>
    <th><center> QTY: </th></center>
    <th><center> CELL: </th></center>
</tr>   
<tr>
    <td width = "140"><center><div id="destination" style = "width:230px; 
word-wrap: break-word"></center></div></td>
    <td width = "140"><center><div id="criteria" style = "width:350px; 
word-wrap: break-word"></center></div></td>
    <td width = "140"><center><div id = "qty" required></td></center>
    <td width = "140"><center><div id = "cell" required></td></center>


</tr>
</table> 
</body>
</html> 

https://jsfiddle.net/hexcmu05/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更新另一个下拉列表的更改下拉列表并使用 AJAX 和 JavaScript 保存它

来自分类Dev

首次使用javascript时,下拉列表未启用对另一个下拉列表的更改

来自分类Dev

基于另一个下拉框值的Javascript更改下拉框选项

来自分类Dev

javascript-添加另一个文本框时,动态创建的文本框的值消失

来自分类Dev

在另一个文件(php,mysql,javascript)的下拉列表中显示数据

来自分类Dev

有没有一种方法可以使用纯JavaScript来基于另一个下拉列表过滤一个下拉列表?

来自分类Dev

JavaScript数组的下拉列表以填充文本框

来自分类Dev

javascript下拉列表等于相同数目的文本框

来自分类Dev

如何从另一个页面获取文本框或下拉列表的值?

来自分类Dev

来自javascript的数组文本框并发送到另一个文本框

来自分类Dev

当另一个文本框处于活动状态时清除文本框 (JavaScript)

来自分类Dev

如何使用JavaScript在点击下拉列表上创建文本框?

来自分类Dev

使用Javascript / JQuery的:添加文本框,当选择列表/下拉值是“其它”

来自分类Dev

如何使用下拉列表javascript在文本框中设置字体大小

来自分类Dev

使用Javascript - 当某个单选按钮被选中需要取消灰色文本框/下拉列表

来自分类Dev

jQuery使用Javascript Object Literal根据另一个下拉选项填充下拉选项

来自分类Dev

从下拉列表中选择的选项将填充另一个文本框/下拉列表中的更改值

来自分类Dev

JavaScript生成动态下拉列表

来自分类Dev

AngularJS 1.5和Angular材质:基于另一个下拉列表填充一个下拉列表

来自分类Dev

将文本框输入传递到另一个页面时出现问题 - 特别是 javascript 和 html 中的名字和姓氏

来自分类Dev

如何使用基于另一个参数的对象列表中的参数?(Javascript)

来自分类Dev

Javascript 下拉对象仅切换第一个下拉列表

来自分类Dev

添加两个文本框包含并使用html和javascript在没有任何按钮的情况下在另一个文本框中显示结果

来自分类Dev

Javascript 检查文本框的下拉值

来自分类Dev

如何将javascript变量值从选定的文本框设置为另一个文本框

来自分类Dev

使用javascript对JSON文件或至少一个下拉列表进行排序的另一种方法?

来自分类Dev

JavaScript将数字转换为货币并将负货币复制到另一个文本框

来自分类Dev

通过数据库基于另一个下拉列表填充下拉列表

来自分类Dev

通过数据库基于另一个下拉列表填充下拉列表

Related 相关文章

  1. 1

    如何更新另一个下拉列表的更改下拉列表并使用 AJAX 和 JavaScript 保存它

  2. 2

    首次使用javascript时,下拉列表未启用对另一个下拉列表的更改

  3. 3

    基于另一个下拉框值的Javascript更改下拉框选项

  4. 4

    javascript-添加另一个文本框时,动态创建的文本框的值消失

  5. 5

    在另一个文件(php,mysql,javascript)的下拉列表中显示数据

  6. 6

    有没有一种方法可以使用纯JavaScript来基于另一个下拉列表过滤一个下拉列表?

  7. 7

    JavaScript数组的下拉列表以填充文本框

  8. 8

    javascript下拉列表等于相同数目的文本框

  9. 9

    如何从另一个页面获取文本框或下拉列表的值?

  10. 10

    来自javascript的数组文本框并发送到另一个文本框

  11. 11

    当另一个文本框处于活动状态时清除文本框 (JavaScript)

  12. 12

    如何使用JavaScript在点击下拉列表上创建文本框?

  13. 13

    使用Javascript / JQuery的:添加文本框,当选择列表/下拉值是“其它”

  14. 14

    如何使用下拉列表javascript在文本框中设置字体大小

  15. 15

    使用Javascript - 当某个单选按钮被选中需要取消灰色文本框/下拉列表

  16. 16

    jQuery使用Javascript Object Literal根据另一个下拉选项填充下拉选项

  17. 17

    从下拉列表中选择的选项将填充另一个文本框/下拉列表中的更改值

  18. 18

    JavaScript生成动态下拉列表

  19. 19

    AngularJS 1.5和Angular材质:基于另一个下拉列表填充一个下拉列表

  20. 20

    将文本框输入传递到另一个页面时出现问题 - 特别是 javascript 和 html 中的名字和姓氏

  21. 21

    如何使用基于另一个参数的对象列表中的参数?(Javascript)

  22. 22

    Javascript 下拉对象仅切换第一个下拉列表

  23. 23

    添加两个文本框包含并使用html和javascript在没有任何按钮的情况下在另一个文本框中显示结果

  24. 24

    Javascript 检查文本框的下拉值

  25. 25

    如何将javascript变量值从选定的文本框设置为另一个文本框

  26. 26

    使用javascript对JSON文件或至少一个下拉列表进行排序的另一种方法?

  27. 27

    JavaScript将数字转换为货币并将负货币复制到另一个文本框

  28. 28

    通过数据库基于另一个下拉列表填充下拉列表

  29. 29

    通过数据库基于另一个下拉列表填充下拉列表

热门标签

归档