ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
540
540
EMPFEHLEN
-
Hi,
Es gibt Länder und dazugehörige Bundesländer. Der User soll in einer Selectbox ein Land wählen und in der darunterstehenden Selectbox sollen die zu diesem Land gehörigen Bundesländer angezeigt werden.
Habe mir hierfür folgenden Thread als Vorlage genommen (der einwandfrei funktioniert):
http://www.tutorials.de/forum/javasc...light=l%E4nder
Nun ist die ganze Sache bei mir Leider etwas komplexer. Die Auswahllisten sehen in etwa so aus:
Bis hierher ist es 1:1 das obige Beispiel.PHP-Code:/* LÄNDER */
<select>
<option value="1">Österreich</option>
<option value="2">Deutschland</option>
</select>
/* BUNDESLÄNDER */
<select>
<option value="bundeslandID1">BL AUT1</option>
<option value="bundeslandID2">BL AUT2</option>
<option value="bundeslandID3">BL GER1</option>
<option value="bundeslandID4">BL GER2</option>
</select>
ABER:
Die Daten sind in einer Datenbank gespeichert. Hier gibt es eine Relation zwischen Land und Bundesland (1:n Beziehung).
Tabellen (zur besseren Vorstellung) - fk** = Fremdschlüssel:
Code :1 2 3 4 5 6 7 8 9 10 11
LandID | LandName -------------------------- 1 | Österreich 2 | Deutschland BundesLandID | fkLandID | BundeslandName ---------------------------------------------------------------- 1 | 1 | BL AUT 1 2 | 1 | BL AUT 2 3 | 2 | BL GER 1 4 | 2 | BL GER 2
Nun muss ich den Array der Bundesländer aus der DB aufbauen. Ist prinzipiell ja kein Problem und folgendermassen gelöst (in Anlehnung an den geposteten Thread):
Ich dachte mir, dass ich die ID des Landes als Index für die einzelnen Array der bundesländer nütze und dann aufgrund der Auswahl des Landes den jeweiligen Bundesland-Array lade. Hierfür wollte ich die methode push() einsetzen.PHP-Code:..............
/* Array mit Bundesländern builden */
var arrParts = new Array();
<?PHP
while($row = $countryStatesInstalled->fetchRow(DB_FETCHMODE_ASSOC)):
echo 'arrParts['.$row['fk_country_id'].'].push("'.$row['country_states_name'].'");';
endwhile;
?>
.........
Output sieht dann ungefähr so aus (auszug):So, und jetzt steh ich an...(Fragen):PHP-Code:...................
/* Array mit Bundesländern builden */
var arrParts = new Array();
arrParts[195].push("A Coruña");
arrParts[204].push("Aargau");
arrParts[223].push("Alabama");
arrParts[223].push("Alaska");
arrParts[195].push("Alava");
arrParts[195].push("Albacete");
arrParts[38].push("Alberta");
arrParts[195].push("Alicante");
.................
1. Bekomme ich permanent eine Laufzeitfehler. Liegt sicher daran, dass ich den Index der Arrays nicht korrekt anspreche.
2. Weiß ich nicht, wie ich die ID des Bundeslandes in die Select-Box bekomme (als Value). Muss ich auch noch irgendwie in den Array packen (evtl. als Sub-Array!? -> arrParts[195].push(new Array("A Coruña", "1"))
Hier nochmal der gesamte aktuelle Quellcode nachdem er von PHP vorbereitet wurde (zum Testen) - Lasst Euch Durch die Encoding-Fehler und die Länge nicht abschrecken. Kommt einzig von den vielen Daten
:
Wäre Euch dankbar, wenn mir irgendwer einen Tipp geben könnte...PHP-Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" language="javascript">
// <![CDATA[
/* Array mit Bundesländern bauen */
var arrParts = new Array();
arrParts[195].push("A Coruña");
arrParts[204].push("Aargau");
arrParts[223].push("Alabama");
arrParts[223].push("Alaska");
arrParts[195].push("Alava");
arrParts[195].push("Albacete");
arrParts[38].push("Alberta");
arrParts[195].push("Alicante");
arrParts[195].push("Almeria");
arrParts[223].push("American Samoa");
arrParts[204].push("Appenzell Ausserrhoden");
arrParts[204].push("Appenzell Innerrhoden");
arrParts[223].push("Arizona");
arrParts[223].push("Arkansas");
arrParts[223].push("Armed Forces Africa");
arrParts[223].push("Armed Forces Americas");
arrParts[223].push("Armed Forces Canada");
arrParts[223].push("Armed Forces Europe");
arrParts[223].push("Armed Forces Middle East");
arrParts[223].push("Armed Forces Pacific");
arrParts[195].push("Asturias");
arrParts[195].push("Avila");
arrParts[195].push("Badajoz");
arrParts[81].push("Baden-Württemberg");
arrParts[195].push("Baleares");
arrParts[195].push("Barcelona");
arrParts[204].push("Basel-Landschaft");
arrParts[204].push("Basel-Stadt");
arrParts[81].push("Bayern");
arrParts[81].push("Berlin");
arrParts[204].push("Bern");
arrParts[81].push("Brandenburg");
arrParts[81].push("Bremen");
arrParts[38].push("British Columbia");
arrParts[14].push("Burgenland");
arrParts[195].push("Burgos");
arrParts[195].push("Caceres");
arrParts[195].push("Cadiz");
arrParts[223].push("California");
arrParts[195].push("Cantabria");
arrParts[195].push("Castellon");
arrParts[195].push("Ceuta");
arrParts[195].push("Ciudad Real");
arrParts[223].push("Colorado");
arrParts[223].push("Connecticut");
arrParts[195].push("Cordoba");
arrParts[195].push("Cuenca");
arrParts[223].push("Delaware");
arrParts[223].push("District of Columbia");
arrParts[223].push("Federated States Of Micronesia");
arrParts[223].push("Florida");
arrParts[204].push("Freiburg");
arrParts[204].push("Genf");
arrParts[223].push("Georgia");
arrParts[195].push("Girona");
arrParts[204].push("Glarus");
arrParts[195].push("Granada");
arrParts[204].push("Graubünden");
arrParts[195].push("Guadalajara");
arrParts[223].push("Guam");
arrParts[195].push("Guipuzcoa");
arrParts[81].push("Hamburg");
arrParts[223].push("Hawaii");
arrParts[81].push("Hessen");
arrParts[195].push("Huelva");
arrParts[195].push("Huesca");
arrParts[223].push("Idaho");
arrParts[223].push("Illinois");
arrParts[223].push("Indiana");
arrParts[223].push("Iowa");
arrParts[195].push("Jaen");
arrParts[204].push("Jura");
arrParts[223].push("Kansas");
arrParts[14].push("Kärnten");
arrParts[223].push("Kentucky");
arrParts[195].push("La Rioja");
arrParts[195].push("Las Palmas");
arrParts[195].push("Leon");
arrParts[195].push("Lleida");
arrParts[223].push("Louisiana");
arrParts[195].push("Lugo");
arrParts[204].push("Luzern");
arrParts[195].push("Madrid");
arrParts[223].push("Maine");
arrParts[195].push("Malaga");
arrParts[38].push("Manitoba");
arrParts[223].push("Marshall Islands");
arrParts[223].push("Maryland");
arrParts[223].push("Massachusetts");
arrParts[81].push("Mecklenburg-Vorpommern");
arrParts[195].push("Melilla");
arrParts[223].push("Michigan");
arrParts[223].push("Minnesota");
arrParts[223].push("Mississippi");
arrParts[223].push("Missouri");
arrParts[223].push("Montana");
arrParts[195].push("Murcia");
arrParts[195].push("Navarra");
arrParts[223].push("Nebraska");
arrParts[204].push("Neuenburg");
arrParts[223].push("Nevada");
arrParts[38].push("New Brunswick");
arrParts[223].push("New Hampshire");
arrParts[223].push("New Jersey");
arrParts[223].push("New Mexico");
arrParts[223].push("New York");
arrParts[38].push("Newfoundland");
arrParts[204].push("Nidwalden");
arrParts[14].push("Niederösterreich");
arrParts[81].push("Niedersachsen");
arrParts[81].push("Nordrhein-Westfalen");
arrParts[223].push("North Carolina");
arrParts[223].push("North Dakota");
arrParts[223].push("Northern Mariana Islands");
arrParts[38].push("Northwest Territories");
arrParts[38].push("Nova Scotia");
arrParts[38].push("Nunavut");
arrParts[14].push("Oberösterreich");
arrParts[204].push("Obwalden");
arrParts[223].push("Ohio");
arrParts[223].push("Oklahoma");
arrParts[38].push("Ontario");
arrParts[223].push("Oregon");
arrParts[195].push("Ourense");
arrParts[223].push("Palau");
arrParts[195].push("Palencia");
arrParts[223].push("Pennsylvania");
arrParts[195].push("Pontevedra");
arrParts[38].push("Prince Edward Island");
arrParts[223].push("Puerto Rico");
arrParts[38].push("Quebec");
arrParts[81].push("Rheinland-Pfalz");
arrParts[223].push("Rhode Island");
arrParts[81].push("Saarland");
arrParts[81].push("Sachsen");
arrParts[81].push("Sachsen-Anhalt");
arrParts[195].push("Salamanca");
arrParts[14].push("Salzburg");
arrParts[195].push("Santa Cruz de Tenerife");
arrParts[38].push("Saskatchewan");
arrParts[204].push("Schaffhausen");
arrParts[81].push("Schleswig-Holstein");
arrParts[204].push("Schwyz");
arrParts[195].push("Segovia");
arrParts[195].push("Sevilla");
arrParts[204].push("Solothurn");
arrParts[195].push("Soria");
arrParts[223].push("South Carolina");
arrParts[223].push("South Dakota");
arrParts[204].push("St. Gallen");
arrParts[14].push("Steiermark");
arrParts[195].push("Tarragona");
arrParts[223].push("Tennessee");
arrParts[195].push("Teruel");
arrParts[204].push("Tessin");
arrParts[223].push("Texas");
arrParts[204].push("Thurgau");
arrParts[81].push("Thüringen");
arrParts[14].push("Tirol");
arrParts[195].push("Toledo");
arrParts[204].push("Uri");
arrParts[223].push("Utah");
arrParts[195].push("Valencia");
arrParts[195].push("Valladolid");
arrParts[223].push("Vermont");
arrParts[223].push("Virgin Islands");
arrParts[223].push("Virginia");
arrParts[195].push("Vizcaya");
arrParts[14].push("Voralberg");
arrParts[204].push("Waadt");
arrParts[204].push("Wallis");
arrParts[223].push("Washington");
arrParts[223].push("West Virginia");
arrParts[14].push("Wien");
arrParts[223].push("Wisconsin");
arrParts[223].push("Wyoming");
arrParts[38].push("Yukon Territory");
arrParts[195].push("Zamora");
arrParts[195].push("Zaragoza");
arrParts[204].push("Zug");
arrParts[204].push("Zürich");
/* Einblenden der jeweiligen Bundesländer
-------------------------------------------------------------*/
function updateCountrySelect(objSel){
// Objekt für zweite Select-Gruppe
objSelNew = document.getElementById("customerCountryStateID");
// Optionen löschen
objSelNew.length = 0;
// Falls kein Land gewählt wurde
if(objSel.selectedIndex == 0){
objSelNew.style.display = "none";
}else{
objSelNew.style.display = "inline";
// Alle BL/Kantone durchlaufen
for(i=0; i<arrParts[objSel.selectedIndex].length; i++){
// Neue Option erstellen
objOpt = new Option(arrParts[objSel.selectedIndex][i], arrParts[objSel.selectedIndex][i], false, false);
// Neue Option in Select-Struktur einhängen (immer an letzte Stelle)
objSelNew.options[objSelNew.length] = objOpt;
}
}
}
// ]]>
</script>
</head>
<body>
<!-- SelectBox mit Ländern -->
<select name="customerCountryID" style="width:100%;" onchange="updateCountrySelect(this);">
<option value="14">Österreich (Austria / AT)</option><option value="81">Deutschland (Germany / DE)</option><option value="204">Schweiz (Switzerland / CH)</option><option value="2">Shqipëria (Albania / AL)</option><option value="1">افغانستان (Afghanistan / AF)</option><option value="3">الجزائر (Algeria / DZ)</option><option value="4">American Samoa (American Samoa / AS)</option><option value="5">Andorra (Andorra / AD)</option><option value="6">Angola (Angola / AO)</option><option value="7">Anguilla (Anguilla / AI)</option><option value="8">Antarctica (Antarctica / AQ)</option><option value="9">Antigua and Barbuda (Antigua and Barbuda / AG)</option><option value="10">Argentina (Argentina / AR)</option><option value="11">Հայաստան (Armenia / AM)</option><option value="12">Aruba (Aruba / AW)</option><option value="13">Australia (Australia / AU)</option><option value="15">Azərbaycan (Azerbaijan / AZ)</option><option value="16">Bahamas (Bahamas / BS)</option><option value="17">البحرين (Bahrain / BH)</option><option value="18">বাংলাদেশ (Bangladesh / BD)</option><option value="19">Barbados (Barbados / BB)</option><option value="20">Беларусь (Belarus / BY)</option><option value="21">België (Belgium / BE)</option><option value="22">Belize (Belize / BZ)</option><option value="23">Bénin (Benin / BJ)</option><option value="24">Bermuda (Bermuda / BM)</option><option value="25">Druk Yul (Bhutan / BT)</option><option value="26">Bolivia (Bolivia / BO)</option><option value="27">Bosna i Hercegovina (Bosnia and Herzegowina / BA)</option><option value="28">Botswana (Botswana / BW)</option><option value="29">Bouvet Island (Bouvet Island / BV)</option><option value="30">Brazil (Brazil / BR)</option><option value="31">British Indian Ocean Territory (British Indian Ocean Territory / IO)</option><option value="32">Brunei Darussalam (Brunei Darussalam / BN)</option><option value="33">България (Bulgaria / BG)</option><option value="34">Burkina Faso (Burkina Faso / BF)</option><option value="35">Burundi (Burundi / BI)</option><option value="36">Kâmpŭchea (Cambodia / KH)</option><option value="37">Cameroon (Cameroon / CM)</option><option value="38">Canada (Canada / CA)</option><option value="39">Cabo Verde (Cape Verde / CV)</option><option value="40">Cayman Islands (Cayman Islands / KY)</option><option value="41">Central African Republic (Central African Republic / CF)</option><option value="42">جمهوريّة تشاد (Chad / TD)</option><option value="43">Chile (Chile / CL)</option><option value="44">中華人民共和國 (China / CN)</option><option value="45">Christmas Island (Christmas Island / CX)</option><option value="46">Cocos (Keeling) Islands (Cocos (Keeling) Islands / CC)</option><option value="47">Colombia (Colombia / CO)</option><option value="48">اتحاد القمر (Comoros / KM)</option><option value="49">Congo (Congo / CG)</option><option value="50">Cook Islands (Cook Islands / CK)</option><option value="51">Costa Rica (Costa Rica / CR)</option><option value="52">Cote D'Ivoire (Cote D'Ivoire / CI)</option><option value="53">Hrvatska (Croatia / HR)</option><option value="54">Cuba (Cuba / CU)</option><option value="55">Κυπριακή Δημοκρατία (Cyprus / CY)</option><option value="56">Česká republika (Czech Republic / CZ)</option><option value="57">Danmark (Denmark / DK)</option><option value="58">جيبوتي (Djibouti / DJ)</option><option value="59">Dominica (Dominica / DM)</option><option value="60">República Dominicana (Dominican Republic / DO)</option><option value="61">Timór-Leste (East Timor / TP)</option><option value="62">Ecuador (Ecuador / EC)</option><option value="63">مصر (Egypt / EG)</option><option value="64">El Salvador (El Salvador / SV)</option><option value="65">Equatorial Guinea (Equatorial Guinea / GQ)</option><option value="66">Ertra (Eritrea / ER)</option><option value="67">Eesti (Estonia / EE)</option><option value="68">Ityop'iya (Ethiopia / ET)</option><option value="69">Falkland Islands (Malvinas) (Falkland Islands (Malvinas) / FK)</option><option value="70">Faroe Islands (Faroe Islands / FO)</option><option value="71">Fiji Islands (Fiji Islands / FJ)</option><option value="72">Suomi (Finland / FI)</option><option value="73">France (France / FR)</option><option value="74">France, Metropolitan (France, Metropolitan / FX)</option><option value="75">French Guiana (French Guiana / GF)</option><option value="76">French Polynesia (French Polynesia / PF)</option><option value="77">French Southern Territories (French Southern Territories / TF)</option><option value="78">Gabon (Gabon / GA)</option><option value="79">Gambia (Gambia / GM)</option><option value="80">საქართველო (Georgia / GE)</option><option value="82">Ghana (Ghana / GH)</option><option value="83">Gibraltar (Gibraltar / GI)</option><option value="84">Ελλάδα (Greece / GR)</option><option value="85">Greenland (Greenland / GL)</option><option value="86">Grenada (Grenada / GD)</option><option value="87">Guadeloupe (Guadeloupe / GP)</option><option value="88">Guam (Guam / GU)</option><option value="89">Guatemala (Guatemala / GT)</option><option value="90">Guinea (Guinea / GN)</option><option value="91">Guiné-Bissau (Guinea-bissau / GW)</option><option value="92">Guyana (Guyana / GY)</option><option value="93">Haïti (Haiti / HT)</option><option value="94">Heard and Mc Donald Islands (Heard and Mc Donald Islands / HM)</option><option value="95">Honduras (Honduras / HN)</option><option value="96">Hong Kong (Hong Kong / HK)</option><option value="97">Magyar Köztársaság (Hungary / HU)</option><option value="98">Lýðveldið Ísland (Iceland / IS)</option><option value="99">भारत (India / IN)</option><option value="100">Indonesia (Indonesia / ID)</option><option value="101">ایران (Iran / IR)</option><option value="102">العراق (Iraq / IQ)</option><option value="103">Éire (Ireland / IE)</option><option value="104">מדינת ישראל (Israel / IL)</option><option value="105">Italia (Italy / IT)</option><option value="106">Jamaica (Jamaica / JM)</option><option value="107">日本 (Japan / JP)</option><option value="108">الأُرْدُن (Jordan / JO)</option><option value="109">Қазақстан (Kazakhstan / KZ)</option><option value="110">Kenya (Kenya / KE)</option><option value="111">Kiribati (Kiribati / KI)</option><option value="112">Korea (Democratic people's republic of) (Korea (Democratic people's republic of) / KP)</option><option value="113">Korea (Republic of) (Korea (Republic of) / KR)</option><option value="114">الكويت (Kuwait / KW)</option><option value="115">Кыргыз Республикасы (Kyrgyzstan / KG)</option><option value="116">Sathalanalat Paxathipatai Paxaxon Lao (Lao People's Democratic Republic / LA)</option><option value="117">Latvija (Latvia / LV)</option><option value="118">الجمهورية اللبنانية (Lebanon / LB)</option><option value="119">Lesotho (Lesotho / LS)</option><option value="120">Liberia (Liberia / LR)</option><option value="121">الجماهيرية العربية الليبية الشعبية الاشتراكية (Libyan Arab Jamahiriya / LY)</option><option value="122">Liechtenstein (Liechtenstein / LI)</option><option value="123">Lietuva (Lithuania / LT)</option><option value="124">Luxembourg (Luxembourg / LU)</option><option value="125">Macau (Macau / MO)</option><option value="126">Macedonia (Macedonia / MK)</option><option value="127">Madagasikara (Madagascar / MG)</option><option value="128">Malaŵi (Malawi / MW)</option><option value="129">Malaysia (Malaysia / MY)</option><option value="130">Rajjeyge Jumhuriyya (Maldives / MV)</option><option value="131">Mali (Mali / ML)</option><option value="132">Malta (Malta / MT)</option><option value="133">Marshall Islands (Marshall Islands / MH)</option><option value="134">Martinique (Martinique / MQ)</option><option value="135">الجمهورية الإسلامية الموريتانية (Mauritania / MR)</option><option value="136">Mauritius (Mauritius / MU)</option><option value="137">Mayotte (Mayotte / YT)</option><option value="138">México (Mexico / MX)</option><option value="139">Micronesia (Micronesia / FM)</option><option value="140">Moldova (Moldova / MD)</option><option value="141">Monaco (Monaco / MC)</option><option value="142">Монгол Улс (Mongolia / MN)</option><option value="143">Montserrat (Montserrat / MS)</option><option value="144">المملكة المغربية (Morocco / MA)</option><option value="145">Moçambique (Mozambique / MZ)</option><option value="146">Myanma Naingngan (Myanmar / MM)</option><option value="147">Namibia (Namibia / NA)</option><option value="148">Naoero (Nauru / NR)</option><option value="149">नेपाल (Nepal / NP)</option><option value="150">Nederland (Netherlands / NL)</option><option value="151">Netherlands Antilles (Netherlands Antilles / AN)</option><option value="152">New Caledonia (New Caledonia / NC)</option><option value="153">New Zealand (New Zealand / NZ)</option><option value="154">Nicaragua (Nicaragua / NI)</option><option value="155">Niger (Niger / NE)</option><option value="156">Nigeria (Nigeria / NG)</option><option value="157">Niue (Niue / NU)</option><option value="158">Norfolk Island (Norfolk Island / NF)</option><option value="159">Northern Mariana Islands (Northern Mariana Islands / MP)</option><option value="160">Norge (Norway / NO)</option><option value="161">سلطنة عُمان (Oman / OM)</option><option value="162">پاکستان (Pakistan / PK)</option><option value="163">Palau (Palau / PW)</option><option value="164">Panamá (Panama / PA)</option><option value="165">Papua New Guinea (Papua New Guinea / PG)</option><option value="166">Paraguay (Paraguay / PY)</option><option value="167">Perú (Peru / PE)</option><option value="168">Pilipinas (Philippines / PH)</option><option value="169">Pitcairn (Pitcairn / PN)</option><option value="170">Polska (Poland / PL)</option><option value="171">Portuguesa (Portugal / PT)</option><option value="172">Puerto Rico (Puerto Rico / PR)</option><option value="173">قطر (Qatar / QA)</option><option value="174">Reunion (Reunion / RE)</option><option value="175">România (Romania / RO)</option><option value="176">Россия (Russian Federation / RU)</option><option value="177">Ruanda (Ruanda / RW)</option><option value="178">Saint Kitts and Nevis (Saint Kitts and Nevis / KN)</option><option value="179">Saint Lucia (Saint Lucia / LC)</option><option value="180">Saint Vincent and the Grenadines (Saint Vincent and the Grenadines / VC)</option><option value="181">Samoa (Samoa / WS)</option><option value="182">San Marino (San Marino / SM)</option><option value="183">São Tomé e Príncipe (Sao Tome and Principe / ST)</option><option value="184">المملكة العربية السعودية (Saudi Arabia / SA)</option><option value="185">Sénégal (Senegal / SN)</option><option value="186">Seychelles (Seychelles / SC)</option><option value="187">Sierra Leone (Sierra Leone / SL)</option><option value="188">Singapura (Singapore / SG)</option><option value="189">Slovensko (Slovakia / SK)</option><option value="190">Slovenija (Slovenia / SI)</option><option value="191">Solomon Islands (Solomon Islands / SB)</option><option value="192">Soomaaliya (Somalia / SO)</option><option value="193">South Africa (South Africa / ZA)</option><option value="194">South Georgia and the South Sandwich Islands (South Georgia and the South Sandwich Islands / GS)</option><option value="195">España (Spain / ES)</option><option value="196">Sri Lanka (Sri Lanka / LK)</option><option value="197">St. Helena (St. Helena / SH)</option><option value="198">St. Pierre and Miquelon (St. Pierre and Miquelon / PM)</option><option value="199">جمهورية السودان (Sudan / SD)</option><option value="200">Suriname (Suriname / SR)</option><option value="201">Svalbard and Jan Mayen Islands (Svalbard and Jan Mayen Islands / SJ)</option><option value="202">Swaziland (Swaziland / SZ)</option><option value="203">Sverige (Sweden / SE)</option><option value="205">الجمهورية العربية السورية (Syrian Arab Republic / SY)</option><option value="206">Taiwan (Taiwan / TW)</option><option value="207">Тоҷикистон (Tajikistan / TJ)</option><option value="208">Tanzania (United Republic of) (Tanzania (United Republic of) / TZ)</option><option value="209">ราชอาณาจักรไทย (Thailand / TH)</option><option value="210">Togolaise (Togo / TG)</option><option value="211">Tokelau (Tokelau / TK)</option><option value="212">Tonga (Tonga / TO)</option><option value="213">Trinidad and Tobago (Trinidad and Tobago / TT)</option><option value="214">الجمهورية التونسية (Tunisia / TN)</option><option value="215">Türkiye (Turkey / TR)</option><option value="216">Türkmenistan (Turkmenistan / TM)</option><option value="217">Turks and Caicos Islands (Turks and Caicos Islands / TC)</option><option value="219">Uganda (Uganda / UG)</option><option value="218">Tuvalu (Tuvalu / TV)</option><option value="220">Україна (Ukraine / UA)</option><option value="221">الإمارات العربيّة المتّحدة (United Arab Emirates / AE)</option><option value="222">United Kingdom (United Kingdom / GB)</option><option value="223">United States (United States / US)</option><option value="224">United States Minor Outlying Islands (United States Minor Outlying Islands / UM)</option><option value="225">Uruguay (Uruguay / UY)</option><option value="226">O‘zbekiston (Uzbekistan / UZ)</option><option value="227">Vanuatu (Vanuatu / VU)</option><option value="228">Vaticanae (Vatican City State (Holy See) / VA)</option><option value="229">Venezuela (Venezuela / VE)</option><option value="230">Việt Nam (Viet Nam / VN)</option><option value="231">Virgin Islands (British) (Virgin Islands (British) / VG)</option><option value="232">Virgin Islands (U.S.) (Virgin Islands (U.S.) / VI)</option><option value="233">Wallis and Futuna Islands (Wallis and Futuna Islands / WF)</option><option value="234">الجمهورية العربية الصحراوية الديمقراطية (Western Sahara / EH)</option><option value="235">Yemen (Yemen / YE)</option><option value="236">Yugoslavia (Yugoslavia / YU)</option><option value="237">Zaire (Zaire / ZR)</option><option value="238">Zambia (Zambia / ZM)</option><option value="239">Zimbabwe (Zimbabwe / ZW)</option></select>
<!-- SelectBox mit Bundesländern -->
<select name="customerCountryStateID" id="customerCountryStateID" style="width:100%;"></select>
</body>
</html>
Danke & Ciao,
Mike
-
Du könntest die jeweilige id in einem hiddenfeld speichern und dann beim neuaufruf über $_POST['hiddenfeldname'] darauf zugreifen. bei nur einer id ist das der einfachste weg.
Ich hoffe ich habe dein anliegen richtig verstanden!
-
Nö, hast Du nicht
Es geht mir nicht darum, wie ich an den Array nach dem Post rankomme (das ist das Kleinste Problem und wäre ansonsten auch im PHP Forum gepostet).
Ich brauche eine JS-Funktion, die mir die Anzeige der Bundesländer abhängig vom gewählten Land korrekt macht...
Danke trotzdem & Ciao,
Mike
-
Hallo Mike,
noch habe ich es nicht geschafft, dein Beispiel zum Laufen zu bringen, aber trotzdem einige Anmerkungen:
Wenn du den Wert von selectedIndex eines Select-Elements prüfst, lautet der Rückgabewert für keine Auswahl -1. Oder soll es unsichtbar werden, wenn man die erste Option wählt
Und wenn du nachher auf deinen Array arrParts zugreifen möchtest: Den Schlüssel des richtigen Array-Elements (Staaten-Id) erhälst du über die Eigenschaft value der ausgewählten Option, selectedIndex ist ja nur die Position...
Ich fürchte, man kommt auch nicht darum herum, die Arrays vorher zu initialisieren, etwa so:
Code javascript:1 2
arrParts[195] = new Array(); arrParts[195] = arrParts[195].push(new Array("A Coruña", 1));
Wenn man den Array arrParts so aufbaut wie von mir vorgeschlagen, sollte es jetzt funktionieren...
Mit der Id der Bundesländer/Regionen würde ich das so versuchen, wie du selbst es vorgeschlagen hast.
Code javascript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
function updateCountrySelect(objSel){ // Objekt für zweite Select-Gruppe objSelNew = document.getElementById("customerCountryStateID"); // Optionen löschen objSelNew.length = 0; // Falls kein Land gewählt wurde if(objSel.selectedIndex == -1){ objSelNew.style.display = "none"; }else{ objSelNew.style.display = "inline"; stateId = objSel.options[objSel.selectedIndex].value; // Alle BL/Kantone durchlaufen for(i=0; i<arrParts[stateId].length; i++){ // Neue Option erstellen objOpt = new Option(arrParts[stateId][i], arrParts[stateId][i], false, false); // Neue Option in Select-Struktur einhängen (immer an letzte Stelle) objSelNew.options[objSelNew.length] = objOpt; } } }
-
Hi,
Danke für die Unterstützung, aber ich kriegs nicht gebacken...
Mein Problem ist, dass ich in der JS Funktion nicht auf den Array zugreifen kann.
Hier ein Auszug um das Problem zu schildern:
Und das kapier ich nicht... Müsste doch nach Adam Riese in dem Beispiel 3 liefern..PHP-Code:// Bundesland-Array bilden (nur ein Bundesland für Beispiel)
var arrParts = new Array();
arrParts[195] = new Array();
arrParts[195] = arrParts[195].push(new Array("A Coruña",130));
arrParts[195] = arrParts[195].push(new Array("Bundesland2",134));
arrParts[195] = arrParts[195].push(new Array("Bundesland3",138));
// Auszug aus der Funktion um auf den Array zuzugreifen
function updateCountrySelect(objSel){
var stateID=0;
stateID = objSel.options[objSel.selectedIndex].value;
alert('stateid:'+stateID); // -> 195 -> Passt
alert('Array Länge: '+arrParts[195].length); // ->FEHLER: UNDEFINED
}
Wenn ich das Problem gelöst habe, müsste es eigentlich passen (die for-schleife zum aufbau der Selectbox ist dann nur noch Kür)
Hast Du noch eine Idee?
Ciao,
Mike
-
Du darfst nicht in arrParts[xxx] das Ergebnis von push() speichern... da überschreibst du den Array(push() gibt nicht den resultierenden Array zurück)
.....also so:
Code :1 2 3 4 5
var arrParts = new Array(); arrParts[195] = new Array(); arrParts[195].push(new Array("A Coruña",130)); arrParts[195].push(new Array("Bundesland2",134)); arrParts[195].push(new Array("Bundesland3",138));
Ähnliche Themen
-
DataGridViewComboBox abhängig voneinander
Von Adan0s im Forum .NET CaféAntworten: 0Letzter Beitrag: 06.08.09, 13:25 -
Längen/Breitengrade aller Länder/Kontinente/Bundesländer und Stätte?
Von Kalma im Forum SmalltalkAntworten: 1Letzter Beitrag: 04.11.08, 00:34 -
mehrere JComboBoxen die voneinander abhängig sind
Von Nikolaj im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 06.05.08, 09:48 -
2 Selectfelder abhängig voneinander
Von piti66 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 14.12.06, 09:10 -
2 Inputs abhängig voneinander machen
Von Natheedo im Forum PHPAntworten: 0Letzter Beitrag: 02.02.06, 23:15





Zitieren
Login





