这是我所拥有的:
for (i = 0; i < data.length; i++) {
$("#myDropDownLisTId").find('tbody')
.append($('<option>').attr('value', data[i].id).attr('name', data[i].name)
);
}
Run Code Online (Sandbox Code Playgroud)
但是下拉列表始终保持不变。为什么这不起作用?数据变量具有漂亮的值。另外,我想在for循环之前清空下拉列表/该怎么做?
这是我在视图中的下拉列表:
<%= Html.DropDownList("myDropDownLisTId")%>
Run Code Online (Sandbox Code Playgroud)
尽管其他答案将完成您希望做的事情,但我还是建议您将选项HTML写入字符串变量,并在循环结束后附加它,而不是在循环中附加。当您的列表变长时,这可能会带来一些明显的性能优势。使用.html()还将照顾每次清空列表。
var tempList = '';
for (i = 0; i < data.length; i++) {
tempList += '<option value="' + data[i].id + '" name="' + data[i].name +'">' + data[i].text + '</option>';
}
$("#myDropDownLisTId").html(tempList);
Run Code Online (Sandbox Code Playgroud)