Javascript 动态替换下拉菜单选项jQuery
我有一个下拉菜单,我想在单击事件时更改其选择选项。应删除当前的选择选项,并替换为新的选项数组。 以下是: 下面是另一个无法修复的尝试:Javascript 动态替换下拉菜单选项jQuery,javascript,jquery,Javascript,Jquery,我有一个下拉菜单,我想在单击事件时更改其选择选项。应删除当前的选择选项,并替换为新的选项数组。 以下是: 下面是另一个无法修复的尝试: $(document).ready(function () { var dropdown = $('<select>'); dropdown.options = function (data) { var self = this; if
$(document).ready(function () {
var dropdown = $('<select>');
dropdown.options = function (data) {
var self = this;
if (data.length > 0) {
//how to remove the current elements
}
$.each(data, function (ix, val) {
var option = $('<option>').text(val);
data.push(option);
});
self.append(data)
}
dropdown.clear = function () {
this.options([]);
}
var array = ['one', 'two', 'three'];
dropdown.options(array);
$('body').append(dropdown);
$('#btnSubmit').on('click', function (ix, val) {
//should clear out the current options
//and replace with the new array
var newArray = ['four', 'five', 'six'];
dropdown.clear();
dropdown.options(newArray);
});
});
$(文档).ready(函数(){
var下拉列表=$('');
dropdown.options=函数(数据){
var self=这个;
如果(data.length>0){
//如何删除当前元素
}
$。每个(数据、函数(ix、val){
var选项=$('').text(val);
数据推送(选项);
});
self.append(数据)
}
dropdown.clear=函数(){
这是一个选项([]);
}
变量数组=['1','2','3'];
选项(数组);
$('body').append(下拉菜单);
$('btnSubmit')。在('click',函数(ix,val){
//应该清除当前的选项
//并替换为新阵列
var newArray=['four','five','six'];
下拉列表。清除();
选项(newArray);
});
});
要清除此选项,请选择使用以下代码:
dropdown.empty();
您所要做的就是将
append()
更改为html()
,因为html()
替换了元素的现有内容
dropdown.options = function (data) {
var self = this;
$.each(data, function (ix, val) {
var option = $('<option>').text(val).val(val);/* added "val()" also*/
data.push(option);
});
self.html(data)
}
dropdown.options=函数(数据){
var self=这个;
$。每个(数据、函数(ix、val){
var option=$('').text(val).val(val);/*还添加了“val()”*/
数据推送(选项);
});
html(数据)
}
我把这个摆弄了太久。我知道我不会走得太远,谢谢@charlietfl