Я создаю зависимый раскрывающийся список, в котором, когда пользователь выбирает идентификатор, имя сотрудника появляется автоматически. но сейчас раскрывающийся список не может принять номер. принимать только строку. Как я могу это исправить? заранее спасибо. пример
function addUniqueOptionsToDropdownList(el,arrayOfArrays,index){
var currentlyAdded = [];
el.innerHTML = '<option></option>';
arrayOfArrays.forEach(function(r){
if (currentlyAdded.indexOf(r[index].toString()) === -1){
var option = document.createElement("option");
option.textContent = r[index];
el.appendChild(option);
currentlyAdded.push(r[index]);
}
});
}
Вы можете преобразовать выбранное значение в строку, прежде чем сравнивать его со значениями в массиве currentAdded. Для этого вы можете использовать метод toString(). Вот обновленная версия вашего кода:
function addUniqueOptionsToDropdownList(el, arrayOfArrays, index) {
var currentlyAdded = [];
el.innerHTML = '<option></option>';
arrayOfArrays.forEach(function(r) {
if (currentlyAdded.indexOf(r[index].toString()) === -1) {
var option = document.createElement("option");
option.textContent = r[index];
el.appendChild(option);
currentlyAdded.push(r[index].toString());
}
});
}
Таким образом, даже если выбранное значение является числом, оно будет преобразовано в строку перед сравнением, гарантируя, что в раскрывающийся список будут добавлены только уникальные значения.