我无法在 JavaScript 中显示 select 的值

I fail to display the value of a select in JavaScript

我有一个国家列表。我使用 GeoNames 的功能来检测我们所在的国家/地区并将其显示在列表中。有用。 但是,我想检索此值,我尝试显示它但只显示第一个值。 代码:

<!-- 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);

出于演示目的,我对您的代码做了一些更改。

方法是在 Select 上设置一个 OnChange 事件。 如果您随后选择一个选项,它将触发该事件。

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>

编辑: 只需在 body.onload 例程中添加以下内容: setDefaultCountry();

你好:)