Я могу получить значение, когда я использую статический раскрывающийся список, но как только я перехожу к динамически генерируемому списку, значение всегда пустое.Получение «значения» из динамически сгенерированного выпадающего списка с использованием JavaScript
У кого-нибудь есть идеи? Возможно ли даже получить значение из динамического элемента?
JS:
$('#input_baseUrl').ready(function(){
var newSelect=document.createElement('select');
var selectHTML="";
for(var count=0; count<services.length; count=count+1){
var tempString = services[count].split("/");
var serviceName = tempString[3];
selectHTML+= "<option value='"+services[count]+"'>"+serviceName+"</option>";
}
//iniatilize a new select with the data we provided
newSelect.innerHTML= selectHTML;
//find the DOM element that is called input_baseURL
document.getElementById("input_baseUrl").appendChild(newSelect);
});
function setURL() {
var url = document.getElementById("input_baseUrl").value;
alert($('#input_baseUrl').val()); // not sure if jQuery will work here but I have to try
window.alert("THE URL is: " + url);
var element = document.getElementById("input_baseUrl");
var strUser = element.options[element.selectedIndex].value;
window.alert("Third option is: " +strUser);
}
HTML:
<form id='api_selector'>
<div class='input' id="input_baseUrl" onchange="setURL()" name="baseUrl" type="text"></div>
<div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/></div>
<div class='input'><a id="explore" href="#">Explore</a></div>
</form>
Элемент «input_baseUrl», который вы выбираете, является 'div'. Вам нужно выбрать 'select'. 'var element = document.getElementById (" input_baseUrl ");' <- a div. – Jan
Благодарим за помощь Ян –