2016-05-27 1 views
0

У меня есть этот код:Extract переключатель текст, который был принят массивом в JS

<script> 
var paesi = ["Austria","Belgium","Bulgaria","Croatia","Cyprus","Czech Republic","Denmark","Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Netherlands","Poland","Portugal","Romania","Slovakia","Slovenia","Spain","Sweden","United Kingdom"]; 
var sel = document.getElementById('country'); 
for (var i = 0; i < paesi.length; i++) { 
    var opt = document.createElement('option'); 
    opt.innerHTML = paesi[i]; 
    opt.value = paesi[i]; 
    sel.appendChild(opt); 
} 

этот массив находится в:

<div id="seleziona-nazione"><span><strong>Seleziona nazione</strong></span></div> 
<br /><br /> <br /><br /> 
<select id="country"></select> 
<button id="button1">seleziona</button> 

Я хочу, чтобы, когда я нажимаю button1 текст в selectedbox был читать, а затем я могу сделать некоторые действия. Я стараюсь, как это, но не работаю:

function scelta() { 
    document.getElementById("button1").addEventListener("click", function (paesi) { 
     if (document.getElementById('country').text = 'Austria') { 
     myLatLng = { lat: 47.516231, lng: 14.550072 }; 

     centra(); 
     }; 
    }); 
}; 

myLatLng является глобальным переменным. Кто-нибудь может мне помочь?

ответ

1

в случае щелчка вы должны использовать value вместо text и использовать == вместо = в состоянии

document.getElementById("button1").addEventListener("click", function (paesi) { 

    if (document.getElementById('country').value == 'Austria') { 
    myLatLng = { lat: 47.516231, lng: 14.550072 }; 

    centra(); 
    }; 

}); 

https://jsfiddle.net/egtLvwvw/1/

0

Попробуйте использовать onChange, чтобы получить выбранное значение.

<div id="seleziona-nazione"> 
    <span><strong>Seleziona nazione</strong>  
    </span></div> 
    <br /><br /> <br /><br /> 
    <select id="country" onchange="getComboA(this)></select> 
    <button id="button1">seleziona</button> 

Внутри функции getComboA вы получите выбранное значение, когда изменение параметра в раскрывающемся списке.

function getComboA() 
{ 
    //Keep the value in a variable. Use it on clicking on the button 
} 

Или вы можете просто изменить, как следующий код. используйте .value вместо .text.

document.getElementById("button1").on("click",function (paesi) 
{ 

     if (document.getElementById('country').value == 'Austria') 
     { 
      alert("Australia"); 
     }; 

}); 
1

Вы могли бы сделать что-то вроде этого:

var paesi = ["Austria","Belgium","Bulgaria","Croatia","Cyprus","Czech Republic","Denmark","Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Netherlands","Poland","Portugal","Romania","Slovakia","Slovenia","Spain","Sweden","United Kingdom"]; 
 

 
var sel = document.getElementById('country'); 
 
for (var i = 0; i < paesi.length; i++) { 
 
    var opt = document.createElement('option'); 
 
    opt.innerHTML = paesi[i]; 
 
    opt.value = paesi[i]; 
 
    sel.appendChild(opt); 
 
} 
 

 

 
function doSomething(){ 
 
    var x = document.getElementById('country'); 
 
    var y = x.options[x.selectedIndex].text; 
 
    if(y == 'Austria') 
 
    console.log('Austria selected'); 
 

 
    }
<body> 
 
    <div id="demo"> 
 
    <select id="country"> 
 
    </select> 
 
    <input type="button" id="btnClick" onclick="doSomething()" value="Do something" /> 
 
    </div> 
 
</body>

Кроме того, мне нужно отметить, что, если вы хотите сравнить значения, вы должны использовать '==' для строгой проверки и «===» для строгого, вы можете прочитать больше на '==' vs '===' здесь: Which equals operator (== vs ===) should be used in JavaScript comparisons?

+0

большое вам спасибо –

1

вы можете написать вот так:

document.getElementById("button1").onclick = function() { 
    if (document.getElementById('country').value == 'Austria') { 
     myLatLng = { lat: 47.516231, lng: 14.550072 }; 

     centra(); 
    }; 
} 
Смежные вопросы