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

时间:2012-06-12 20:37:46

标签: javascript

我制作了一个脚本,当你按下一个按钮(accessories)时,选择(mylist)会填充一个数组(accessoryData),当你点击另一个按钮时( weapons)另一个数组(weaponData)填充选择。但是,在代码的当前状态下,第二次按下按钮不会重新填充选择。这有什么不对?

此外,如果有更有效的方法,这可能会有所帮助。

Full code

function runList(form, test) {
    var html = "";
    var x;
    dataType(test);
    while (x < dataType.length) {
        html += "<option>" + dataType[x];
        x++;
    }
    document.getElementById("mylist").innerHTML = html;
}

1 个答案:

答案 0 :(得分:1)

我相信您正在尝试制作<select>元素,即下拉菜单,但正确的标记是:

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

您忘记使用<option>属性关闭innerHTML代码。

使用原生的 JS 方法:

//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.