Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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 - Fatal编程技术网

如何使用javascript用按钮填充表单列表

如何使用javascript用按钮填充表单列表,javascript,Javascript,我制作了一个脚本,当你按下一个按钮(附件)时,选择(我的列表)填充一个数组(附件数据),当你按下另一个按钮(武器)时,另一个数组(武器数据)填充选择。但是,在代码的当前状态下,第二次按下按钮不会重新填充选择。这里怎么了 此外,如果有更有效的方法来做到这一点,这可能会有所帮助 函数运行列表(表单,测试){ var html=“”; var x; 数据类型(测试); while(x

我制作了一个脚本,当你按下一个按钮(
附件
)时,选择(
我的列表
)填充一个数组(
附件数据
),当你按下另一个按钮(
武器
)时,另一个数组(
武器数据
)填充选择。但是,在代码的当前状态下,第二次按下按钮不会重新填充选择。这里怎么了

此外,如果有更有效的方法来做到这一点,这可能会有所帮助

函数运行列表(表单,测试){
var html=“”;
var x;
数据类型(测试);
while(x
我相信您试图在下拉菜单中创建一个
元素,但正确的标记是:

<select id="myList">
   <option value="1">Option 1</option>
   <option value="2">Option 2</option>
   <option value="n">Option n</option>
</select>

您是否仅限于Javascript?我建议使用jQuery库。我从未使用过jQuery。要将它实现到我已经拥有的东西中需要多少时间?实际上,它比纯javascript容易得多。下面是一个基于我在jQuery中看到您尝试做的事情的快速实现-。如果您有任何问题,我很乐意为您提供帮助。您知道如何用JavaScript编写等效代码吗?我不懂语法。但这正是我想要的结果。传递给函数的变量是什么?另外,您可以使用for循环重写while循环:
for(var i=0;i
如果您真的想编写一些很酷的JS,那么我还建议您坐下来学习jQuery。习惯需要一点时间,但从长远来看,这会让你的生活变得更加轻松:)
<select id="myList">
   <option value="1">Option 1</option>
   <option value="2">Option 2</option>
   <option value="n">Option n</option>
</select>
//create the select element
var select = document.create('select');
//or use getElementById if it's already there

//Assuming your datatype is an Array of string
var opt;
for(var i=0; i<datatype.length; i++){
  //create the option element
  opt = document.create('option');
  opt.textContent = datatype[i]; //innerText works too
  //set the value attribute
  opt.setAttribute('value',i+1); //+1 or else it would start from 0
  //add the option to the select element
  select.appendChild(opt);
  //conversely use removeChild to remove
}

//at last add it to the DOM if you didn't fetch it from the DOM.