1

我有一个带有选择框的简单表单,我想用数据填充,但我不知道该怎么做。

这是我的表格:

<form name="form">    
 <select name="req_one" style="width:250px;"/> </select>    
</form>

这是我在我的 JS 中尝试过的:

var name = 'test';
var i = 1;
document.form.req_one =new Option(name, i);

这应该会产生等效的结果:

<option value="1"> Test </option>

我究竟做错了什么?

4

4 回答 4

3

您的 HTML 无效,您正在关闭选择标签

还要等到选择在 DOM 中可用

这是一个例子

window.addEventListener("load", function() {
  const name = 'test';
  const value = 1;
  const sel = document.querySelector("[name=req_one]"); // or give it an ID and use document.getElementById("req_one")
  if (sel) {
    sel.options[sel.options.length] = new Option(name, value);
  } else {
    alert("Where did the sel go?");
  }
})
<form name="myform">
  <select name="req_one" style="width:250px;"></select>
</form>

于 2013-02-26T06:21:56.900 回答
1

我建议使用 jquery 的简单方法。

var name = 'test';
var i = 1;
$("select[name='req_one']").append('<option value="'+i+'">'+value+'</option>');

我希望你知道如何使用 jquery 。

于 2013-02-26T06:26:33.167 回答
0

你犯了一个小错误。我合并了您的整个代码:

<html>
<head>
<script type="text/javascript">
function l1(){
    var name = 'test';
    var i = 1;
    document.form.req_one.options[0] =new Option(name, i);//you forgot to include .options[0]
}
</script>
</head>
<body onload="l1()">
<form name="form">    
 <select name="req_one" style="width:250px;"/> </select>    
</form>
</body>
</html>
于 2013-02-26T06:24:29.963 回答
0

您忘记将新创建的添加Option到选择元素的选项列表中:

document.form.req_one.options[0] = new Option(name, i);

JSFiddle 示例:http: //jsfiddle.net/zxT8U/2/

于 2013-02-26T06:34:02.087 回答