Javascript 使用数组填充下拉列表
我试图用变量中的数据填充下拉菜单。这就是我目前所拥有的,但它不起作用。我做错了什么Javascript 使用数组填充下拉列表,javascript,jquery,Javascript,Jquery,我试图用变量中的数据填充下拉菜单。这就是我目前所拥有的,但它不起作用。我做错了什么 <script> $(function() { $('#dropdownMenu1').click(function() { var director_names = {"director_name": ["Aaron Schneider", "Aaron Seltzer", "Abel Ferrara", "Adam Goldberg", "Adam Marcus", "Ad
<script>
$(function() {
$('#dropdownMenu1').click(function() {
var director_names = {"director_name": ["Aaron Schneider", "Aaron Seltzer", "Abel Ferrara", "Adam Goldberg", "Adam Marcus", "Adam McKay", "Adam Rapp", "Adam Rifkin", "Adam Shankman", "Adrian Lyne", "Adrienne Shelly", "Agnieszka Holland", "Agnieszka Wojtowicz-Vosloo", "Akiva Goldsman", "Akiva Schaffer", "Alan Cohn", "Alan J. Pakula", "Alan Metter", "Alan Parker", "Alan Poul", "Alan Rudolph", "Alan Shapiro", "Alan Taylor"]};
var myDDL = document.getElementById("dropdownMenu1");
var i;
for (i = 0; i < director_names.director_name.length; i++) {
var option = document.createElement("option");
option.text = director_names.director_name[i].name;
option.value = director_names.director_name[i].address;
try {
myDDL.options.add(option);
}
catch (e) {
alert(e);
}
}
});
});
</script>
$(函数(){
$(“#下拉菜单1”)。单击(函数(){
var董事姓名={“董事姓名”:[“艾伦·施耐德”、“艾伦·萨尔茨”、“阿贝尔·费拉拉”、“亚当·戈德伯格”、“亚当·马库斯”、“亚当·麦凯”、“亚当·拉普”、“亚当·里夫金”、“亚当·尚克曼”、“阿德里安·林恩”、“阿德里安·雪莉”、“阿格涅斯卡·霍兰德”、“阿格涅斯卡·沃伊茨·沃斯洛”、“阿基瓦·戈德斯曼”、“阿基瓦·谢弗”、“艾伦·科恩”、“艾伦·帕库拉”、“艾伦·梅特”,“艾伦·帕克”、“艾伦·波尔”、“艾伦·鲁道夫”、“艾伦·夏皮罗”、“艾伦·泰勒”]};
var myDDL=document.getElementById(“dropdownMenu1”);
var i;
对于(i=0;i
您至少有一个语法错误。尝试:
<script>
$( document ).ready(function() {
var director_names = {"director_name": ["Aaron Schneider", "Aaron Seltzer", "Abel Ferrara", "Adam Goldberg", "Adam Marcus", "Adam McKay", "Adam Rapp", "Adam Rifkin", "Adam Shankman", "Adrian Lyne", "Adrienne Shelly", "Agnieszka Holland", "Agnieszka Wojtowicz-Vosloo", "Akiva Goldsman", "Akiva Schaffer", "Alan Cohn", "Alan J. Pakula", "Alan Metter", "Alan Parker", "Alan Poul", "Alan Rudolph", "Alan Shapiro", "Alan Taylor"]}
var myDDL = document.getElementById("dropdownMenu1");
for (i = 0; i < director_names.director_name.length; i++) {
var option = document.createElement("option");
option.text = director_names.director_name[i];
option.value = director_names.director_name[i];
try {
myDDL.options.add(option);
}
catch (e) {
alert(e);
}
}
});
</script>
$(文档).ready(函数(){
var董事姓名={“董事姓名”:[“艾伦·施耐德”、“艾伦·萨尔茨”、“阿贝尔·费拉拉”、“亚当·戈德伯格”、“亚当·马库斯”、“亚当·麦凯”、“亚当·拉普”、“亚当·里夫金”、“亚当·尚克曼”、“阿德里安·林恩”、“阿德里安·雪莉”、“阿格涅斯卡·霍兰德”、“阿格涅斯卡·沃伊茨·沃斯洛”、“阿基瓦·戈德斯曼”、“阿基瓦·谢弗”、“艾伦·科恩”、“艾伦·帕库拉”、“艾伦·梅特”,“艾伦·帕克”,“艾伦·波尔”,“艾伦·鲁道夫”,“艾伦·夏皮罗”,“艾伦·泰勒”]}
var myDDL=document.getElementById(“dropdownMenu1”);
对于(i=0;i
正如G.Petriolly所说,JSON中只有名称,没有地址。我用上面的代码创建,以显示选择框中填充了名称。您的json不包含
name
和address
。。它是一个字符串数组,因此只能对选项的值
和文本
使用控制器名称。这是无效的JavaScript;我假设这是因为你在结束脚本标记之前剪下了一些东西。。。行var-director\u名称:{…}
没有做您认为应该做的事情,您需要使用=
将a值分配给变量。像这样使用:
,它被解释为一个。只有一个对象文本,您认为它是JSON。