如何解决如何更新现有数据列表 jQuery 对象的值?
函数 addDataList() 将数据列表添加到现有的 DOM(输入文本)元素。
示例:添加一些值:
addDataList('my_input',[1,2,3,4,5]);
addDataList('my_input',[6,7,8,9,10]);
第一次调用addDataList(),选项被添加,没有错误发生。 第二次调用导致错误:
未捕获的类型错误:datalist.appendChild 不是函数
我在这里做错了什么?
function addDataList(i,a) {
var id = i + "_datalist";
var datalist = $('#' + id);
if (datalist.length == 0) { // datalist does not exist
var datalist = document.createElement('datalist');
datalist.id = id;
document.body.appendChild(datalist);
} else {
datalist.html(''); // datalist exists,clear existing options
}
a.forEach(function (data) {
var option = document.createElement('option');
option.text = data;
datalist.appendChild(option);
});
$('#' + i).attr('list',datalist.id).attr('autocomplete','off');
}
解决方法
修复了它。 datalist 是一个 jQuery 对象。
function addDataList(i,a) {
var id = i + "_datalist";
var datalist = document.getElementById(id);
if (!datalist) { // datalist does not exist
var datalist = document.createElement('datalist');
datalist.id = id;
document.body.appendChild(datalist);
} else {
datalist.innerHTML = '' // datalist exist,clear existing options
}
a.forEach(function (data) {
var option = document.createElement('option');
option.text = data;
datalist.appendChild(option);
});
$('#' + i).attr('list',datalist.id).attr('autocomplete','off');
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。