2015-05-29 2 views
0

У меня есть список стран. Я использую функцию GeoNames для определения страны, где мы находимся, и отображаем ее в списке. Оно работает. Однако я хотел бы получить это значение, я пытаюсь его отобразить, но появляется только первое значение. Код:Я не могу отобразить значение select в JavaScript

<!-- Code HTML countries list --> 
<select id="countrySelect" name="country"> 
<?php 
$reponse = $bdd->query('SELECT * FROM pays'); 
echo '<OPTION VALUE="">Pays</OPTION>'; 
while ($donnees = $reponse->fetch(PDO::FETCH_ASSOC)) 
    { 
    echo '<OPTION VALUE="'.$donnees["id_pays"].'">'.$donnees["pays"].'</OPTION>'; 
    echo $donnees["pays"]; 
    } 
?> 

код Javascript:

function setDefaultCountry() { 
var countrySelect = document.getElementById("countrySelect"); 
    for (i=0;i< countrySelect.length;i++) { 
    if (countrySelect[i].value == geonamesUserIpCountryCode) { 
    countrySelect.selectedIndex = i; 
    } 
    } 
    } 
/* I want to display the country selected here !!!!!!*/ 
var c = document.getElementById("countrySelect"); 
alert(c.options[c.selectedIndex].text); 
+0

Что вы пытаетесь достичь? Вы, кажется, строите выбор ... Вы хотите получить значение, когда пользователь что-то выбирает? –

+0

Благодарим вас за ответ. Да. –

+0

вы подтвердили, что действительно было выбрано что-то еще, чем первый элемент? например, с помощью простого 'alert (c.options [c.selectedIndex]);'? – Burki

ответ

0

я сделал небольшое изменение в код, для демонстрационных целей.

Способ сделать это, чтобы установить событие OnChange на Select. Если вы выберете вариант, он запустит это событие.

function setDefaultCountry() { 
 
    var countrySelect = document.getElementById("countrySelect"); 
 
    for (i = 0; i < countrySelect.length; i++) { 
 
    if (countrySelect[i].value == geonamesUserIpCountryCode) { 
 
     countrySelect.selectedIndex = i; 
 
    } 
 
    } 
 
    check(); 
 
} 
 

 

 

 
function check() { 
 
    var sele = document.getElementById("countrySelect"); 
 
    alert(sele[sele.selectedIndex].text); 
 
}
<!-- Code HTML countries list --> 
 
<select id="countrySelect" name="country" onchange="check()"> 
 

 
    <OPTION VALUE="Test1">test1</OPTION> 
 
    <OPTION VALUE="Test2">test2</OPTION> 
 
    <OPTION VALUE="Test3">test3</OPTION> 
 
    <OPTION VALUE="Test4">test4</OPTION> 
 
    <OPTION VALUE="Test5">test5</OPTION>

EDIT: добавьте следующую строку в вашей обычной body.onload: setDefaultCountry();

Greetz:

+0

большое вам спасибо, это работает :) –

+0

Эй, я рад за вас: D Пожалуйста, оставьте upvote и принимайте ответ :) –

+0

У меня есть последний вопрос о выбранном значении. Я хочу иметь предупреждение без выбора элемента списка (значение уже выбрано изначально). Как я могу получить предупреждение в этом случае? –

 Смежные вопросы

  • Нет связанных вопросов^_^