Javascript 如何动态构建选项列表
我有一个下拉列表,我需要用jquery填充,因为列表内容将发生变化。我在这个网站上找到了以下代码的基础。但它被编码为运行一定数量的项目。这是我的名片。您可以看到,如果单击该按钮,列表内容将发生更改。但是列表是从数据库读取的,可能有1项或100项。因此,我添加了一个循环来读取列表并将其添加到选项列表中,但无论我尝试了什么,它都失败了。我最后一次尝试是 我的问题是如何改变这一点:Javascript 如何动态构建选项列表,javascript,jquery,dynamic,dropdown,Javascript,Jquery,Dynamic,Dropdown,我有一个下拉列表,我需要用jquery填充,因为列表内容将发生变化。我在这个网站上找到了以下代码的基础。但它被编码为运行一定数量的项目。这是我的名片。您可以看到,如果单击该按钮,列表内容将发生更改。但是列表是从数据库读取的,可能有1项或100项。因此,我添加了一个循环来读取列表并将其添加到选项列表中,但无论我尝试了什么,它都失败了。我最后一次尝试是 我的问题是如何改变这一点: var options = [ {text: cars[0], value: 1},
var options = [
{text: cars[0], value: 1},
{text: cars[1], value: 2},
{text: cars[2], value: 3}
];
对这样的事情:
var options '';
for (var i = 0; i < cars.length; ++i) {
options =
{text: cars[i], value: i},
;
}
options = [ + options + ];
var选项“”;
对于(var i=0;i
以下是我的第一个JSFIDLE中的代码:
<script>
var getlist = function() {
var cars = ["Saab", "Volvo", "BMW"];
var options '';
for (var i = 0; i < cars.length; ++i) {
options =
{text: cars[i], value: i},
;
}
options = [ + options + ];
$("#v_make").replaceOptions(options);
}
$('#button').click(getlist);
(function($, window) {
$.fn.replaceOptions = function(options) {
var self, $option;
this.empty();
self = this;
$.each(options, function(index, option) {
$option = $("<option></option>")
.attr("value", option.value)
.text(option.text);
self.append($option);
});
};
})(jQuery, window)
</script>
<select id="v_make">
<option>start</option>
</select>
<input type="button" id="button" value="Click Me" />
var getlist=函数(){
var汽车=[“萨博”、“沃尔沃”、“宝马”];
var期权“;
对于(var i=0;i
尝试以下操作
$(文档).ready(函数(){
var x=0;
var y=0;
$('#addBtn')。在('click',function()上{
$('').val(x).text(y).appendTo('#select1');
x++
y++
});
})
(请选择一个选项)
添加
通过将cars
数组传递给函数,您可以简化选项的构建:
var getlist = function() {
var cars = ["Saab", "Volvo", "BMW"];
$("#v_make").replaceOptions(cars);
}
$('#button').click(getlist);
(function($, window) {
$.fn.replaceOptions = function(options) {
var self, $option;
this.empty();
self = this;
$.each(options, function(index, option) {
$option = $("<option></option>")
.attr("value", index)
.text(option);
self.append($option);
});
};
})(jQuery, window)
var getlist=function(){
var汽车=[“萨博”、“沃尔沃”、“宝马”];
美元(“#v#u make”)。替换选项(汽车);
}
$(“#按钮”)。单击(获取列表);
(函数($,窗口){
$.fn.replaceOptions=函数(选项){
var自期权;
这个是空的();
self=这个;
$.each(选项、函数(索引、选项){
$option=$(“”)
.attr(“值”,索引)
.文本(可选);
self.append($选项);
});
};
})(jQuery,窗口)
更新的JSFIDLE是