Javascript 如何使用纯JS获取数据列表中选定项的值?
我有一个数据列表如下:Javascript 如何使用纯JS获取数据列表中选定项的值?,javascript,Javascript,我有一个数据列表如下: <input data-row-id="1" id="assignee[1]" name="assignment[1][assignee]" class="assignee" list="transcribers" autocomplete="off" value="" onchange="showEditing(this);" data-id-proofinglevel="1" data-transcriber-id="1361"> <datalist
<input data-row-id="1" id="assignee[1]" name="assignment[1][assignee]" class="assignee" list="transcribers" autocomplete="off" value="" onchange="showEditing(this);" data-id-proofinglevel="1" data-transcriber-id="1361">
<datalist id="transcribers">
<option value="" data-id="0" data-id-proofinglevel=""></option>
<option value="Amy" data-id="674" data-id-proofinglevel="1"></option>
<option value="Jack" data-id="113" data-id-proofinglevel="2"></option>
</datalist>
但它带来了错误的号码。如果我尝试
let list = document.getElementById('transcribers');
let proofingLevel = list.options[list.selectedIndex].getAttribute('data-id-proofinglevel');`
我没有定义
TIA。元素没有selectedIndex
属性
据我所知,您可以从输入中获取值,然后找到带有该值的选项,如下所示:
功能显示编辑(输入){
//从输入中获取值
var值=输入值;
//从“datalist”中获取匹配的“option”元素(即
//可通过“input.list”访问)
var option=Array.prototype.find.call(input.list.options,函数(option){
返回选项。值===值;
});
//获取其“数据id”属性值
log(option.getAttribute(“数据id”);
}
使用javascript获取数据列表值
function showEditing(input) {
var datalist = "";
var list = document.getElementById('transcribers').children;
for(var i = 0; i<list.length; i++){
var data = list[i];
datalist = data.getAttribute("data-id");
console.log(datalist);
}
}
功能显示编辑(输入){
var datalist=“”;
var list=document.getElementById(‘转录者’).children;
对于(var i=0;i根据您的代码,您有多少组输入/数据列表?一个页面上只能有一个唯一的id,因此如果您有多个id为=“transcribers”的数据列表它不能正常工作。你也应该考虑对输入id使用数据属性。@Andy,还有其他数据列表,但只有一个具有转录器id。这是我正在使用的现有代码,因此如果不需要,我不想更改太多。输入id应该使用什么?
function showEditing(input) {
var datalist = "";
var list = document.getElementById('transcribers').children;
for(var i = 0; i<list.length; i++){
var data = list[i];
datalist = data.getAttribute("data-id");
console.log(datalist);
}
}