Χώρες-πόλεις

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
vanitas
Δημοσιεύσεις: 3
Εγγραφή: 06 Φεβ 2010 19:58

Χώρες-πόλεις

Δημοσίευση από vanitas » 28 Φεβ 2010 21:04

Επιλογή χώρας και της πόλης που βρίσκεται σε αυτή τη χώρα.
Συνδεδεμένα select Boxes

To αρχείο index.html περιέχει :

Κώδικας: Επιλογή όλων

<html>
<head>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">

var ajax = new Array&#40;&#41;;

function getCityList&#40;sel&#41;
&#123;
	var countryCode = sel.options&#91;sel.selectedIndex&#93;.value;
	document.getElementById&#40;'dhtmlgoodies_city'&#41;.options.length = 0;	// Empty city select box
	if&#40;countryCode.length>0&#41;&#123;
		var index = ajax.length;
		ajax&#91;index&#93; = new sack&#40;&#41;;
		
		ajax&#91;index&#93;.requestFile = 'getCities.php?countryCode='+countryCode;	// Specifying which file to get
		ajax&#91;index&#93;.onCompletion = function&#40;&#41;&#123; createCities&#40;index&#41; &#125;;	// Specify function that will be executed after file has been found
		ajax&#91;index&#93;.runAJAX&#40;&#41;;		// Execute AJAX function
	&#125;
&#125;

function createCities&#40;index&#41;
&#123;
//alert&#40;ajax&#91;index&#93;.response&#41;;
	var obj = document.getElementById&#40;'dhtmlgoodies_city'&#41;;
	eval&#40;ajax&#91;index&#93;.response&#41;;	// Executing the response from Ajax as Javascript code	
&#125;

</script>
</head>

<body>
<form action="" method="post">
<table>
	<tr>
		<td>Country&#58;
		<td><select id="dhtmlgoodies_country" name="dhtmlgoodies_country" onchange="getCityList&#40;this&#41;">
			<option value="">Select a country</option>
			<option value="dk">Denmark</option>
			<option value="no" >Norway </option>
			<option value="us">US</option>
			<option value="gr">GR</option>
		</select>
	<tr>
		<td>City&#58;
		<td><select id="dhtmlgoodies_city" name="dhtmlgoodies_city">
		<?php getCities.php?countryCode='no'?>
		</select>
	</tr>
</table>
</form>
</body>
</html>
To αρχείο getCities περιέχει :

Κώδικας: Επιλογή όλων

<?php

if&#40;isset&#40;$_GET&#91;'countryCode'&#93;&#41;&#41;&#123;
  
  switch&#40;$_GET&#91;'countryCode'&#93;&#41;&#123;
    
    case "no"&#58;
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Bergen','1'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Haugesund','2'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Oslo','3'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Stavanger','4'&#41;;\n";
      
      break;
    case "dk"&#58;
      
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Aalborg','11'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Copenhagen','12'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Odense','13'&#41;;\n";
      
      break;
    case "us"&#58;
      
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Atlanta','21'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Chicago','22'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Denver','23'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Los Angeles','24'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'New York','25'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'San Fransisco','26'&#41;;\n";
      echo "obj.options&#91;obj.options.length&#93; = new Option&#40;'Seattle','27'&#41;;\n";
      
      break;
  &#125;  
&#125;
?> 
Παρατηρούμε ότι όταν διαλέγουμε χώρα αυτόματα αλλάζουν οι επιλογές στο select Box των πόλεων.
Η ερώτηση είναι αν θέλω να έχω ως προγαθορισμένη αρχικά χώρα τη Νορβηγία "no" τι πρέπει να αλλάξω στο index.html ;
Οπωσδήπτε το <option value="no" SELECTED>Norway </option>
θα πρέπει να γίνει . Αλλά παρακάτω πώς θα πάρω τις πόλεις ;
Συνημμένα
countries-cities.zip
(2.8 KiB) Μεταφορτώθηκε 153 φορές

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες