Copy link to clipboard
Copied
Hi,
I have 4 dropdowns in a table and would like the first two to work together dynamically. (i.e second dropdown should populate based on first dropdown selection) the last two dropdowns are static.
I have found some code on a website (http://www.plus2net.com/php_tutorial/php_drop_down_list.php if it could help someone else) and it works fine, until I try to take it apart to work as I want it to and not like the author coded it. On that code, everything is inside one "PHP code (i.e <?php EVERYTHING IS HERE ?>)" and I edited the code accordingly to fit my table. The query part I put into my header and the actual functions on the page where they should be. The data gets extracted from the DB but the function to re-populate as soon as the first dropdown was selected fails.
Does anyone have any advice or anything else that could help my case?
Regards
1 Correct answer
Have a look here http://labs.adobe.com/technologies/spry/samples/data_region/DataSetMasterDetailSample.html
The example uses XML data that can be dynamically created from your database as per http://labs.adobe.com/technologies/spry/samples/utils/query2xml.html
Copy link to clipboard
Copied
Have a look here http://labs.adobe.com/technologies/spry/samples/data_region/DataSetMasterDetailSample.html
The example uses XML data that can be dynamically created from your database as per http://labs.adobe.com/technologies/spry/samples/utils/query2xml.html
Copy link to clipboard
Copied
Hi,
Thanks a lot for the quick reply.
I had a look at the pages and this is exactly what I need.
Copy link to clipboard
Copied
Can you maybe tell me how to implement this? I can't figure it out
Copy link to clipboard
Copied
This is a broad overview of what you need to do
First of all, create a PHP page where you collect the data from your database, then convert that data into XML output.
Once you have the XML output (from the PHP page) create a new page with SpryDataSets from which you can construct the dropdown menus.
If you need assistance for each step, please come back here.
Copy link to clipboard
Copied
I understand the concept but have no idea how to do it. I already have the page with my database details that I want to use. 2 databases, 1 for Province and 1 for town. How should I do it to work with Master/Detail dropdown? The province will be the master and town the detail
Copy link to clipboard
Copied
Please post the source code of the PHP page that you have already got
Copy link to clipboard
Copied
The first part is the connection to my DB and 3 tables. This is a page where a client submits data into the "lastminuteconfirm" table. Below the "***some code*** I have placed my dropdowns. As you can see I have to manually insert an <option> tag for each option. There are more that 500 cities!!! That is why I want to make it repopulate when you select the province so only the relevant cities show. Hope this is what you need? Say if you need something else. Sorry I took so long. But I'm here now if you need anything.
<?php require_once('Connections/LastMinuteConfirm.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "lastminuteconfirm")) { $insertSQL = sprintf("INSERT INTO lastminuteconfirm (est_name, province, near_city, accomm_type, norm_price_range, first_name, last_name, website, email, landline, cell, book_period) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['est_name'], "text"), GetSQLValueString($_POST['province'], "text"), GetSQLValueString($_POST['near_city'], "text"), GetSQLValueString($_POST['accomm_type'], "text"), GetSQLValueString($_POST['norm_price_range'], "text"), GetSQLValueString($_POST['first_name'], "text"), GetSQLValueString($_POST['surname'], "text"), GetSQLValueString($_POST['website'], "text"), GetSQLValueString($_POST['email'], "text"), GetSQLValueString($_POST['landline'], "text"), GetSQLValueString($_POST['cell'], "text"), GetSQLValueString($_POST['book_period'], "text")); $est_name = $_POST['est_name']; $province = $_POST['province']; $near_city = $_POST['near_city']; $accomm_type = $_POST['accomm_type']; $norm_price_range = $_POST['norm_price_range']; $first_name = $_POST['first_name']; $surname = $_POST['surname']; $website = $_POST['website']; $email = $_POST['email']; $landline = $_POST['landline']; $cell = $_POST['cell']; $book_period = $_POST['book_period']; $to = 'listings@travelconnexion.co.za'; $subject = 'Last Minute Confirm Database Entry'; $message = "Establishment Name: $est_name\n" . "Province: $province\n" . "Nearest City/Town: $near_city\n" . "Accommodation Type: $accomm_type\n" . "Normal Price Range: $norm_price_range\n" . "First Name: $first_name\n" . "Surname: $surname\n" . "Website Address: $website\n" . "Email Address: $email\n" . "Tel: Landline: $landline\n" . "Tel: Cell: $cell\n" . "Period Applying For: $book_period\n" ; mail($to, $subject, $message, 'From:' . $email); mysql_select_db($database_LastMinuteConfirm, $LastMinuteConfirm); $Result1 = mysql_query($insertSQL, $LastMinuteConfirm) or die(mysql_error()); $insertGoTo = "PageConfirmListing.htm"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } mysql_select_db($database_LastMinuteConfirm, $LastMinuteConfirm); $query_Recordset1 = "SELECT * FROM lastminuteconfirm"; $Recordset1 = mysql_query($query_Recordset1, $LastMinuteConfirm) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); mysql_select_db($database_LastMinuteConfirm, $LastMinuteConfirm); $query_Recordset2 = "SELECT * FROM city_town"; $Recordset2 = mysql_query($query_Recordset2, $LastMinuteConfirm) or die(mysql_error()); $row_Recordset2 = mysql_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysql_num_rows($Recordset2); mysql_select_db($database_LastMinuteConfirm, $LastMinuteConfirm); $query_Recordset3 = "SELECT * FROM province"; $Recordset3 = mysql_query($query_Recordset3, $LastMinuteConfirm) or die(mysql_error()); $row_Recordset3 = mysql_fetch_assoc($Recordset3); $totalRows_Recordset3 = mysql_num_rows($Recordset3); ?>
***some code***
<select name="province" id="province"> <option selected>Select From List</option> <option value="Eastern Cape">Eastern Cape</option> <option value="Free State">Free State</option> <option value="Gauteng">Gauteng</option> <option value="KwaZulu-Natal">KwaZulu-Natal</option> <option value="Limpopo Province">Limpopo Province</option> <option value="Mpumalanga">Mpumalanga</option> <option value="North West">North West</option> <option value="Northern Cape">Northern Cape</option> <option value="Western Cape">Western Cape</option> </select> <br /> </label> <span class="selectRequiredMsg"><img src="btnsimgs/x.jpg" width="20" height="20"></span></span></td> <td width="257" align="center"><label>Nearest City/Town</label> <span id="spryselect2"> <select name="near_city" id="near_city"> <option selected>Select From List <option value="Aberdeen">Aberdeen</option> <option value="Addo Village">Addo Village</option> <option value="Adelaide ">Adelaide </option> <option value="Agulhas ">Agulhas </option> <option value="Albert Falls ">Albert Falls </option> <option value="Albertinia ">Albertinia </option> <option value="Alberton">Alberton</option> <option value="Alexandria">Alexandria</option> <option value="Alicedale ">Alicedale </option> <option value="Aliwal North">Aliwal North</option> <option value="Alldays ">Alldays </option> <option value="Amanzimtoti">Amanzimtoti</option> <option value="Anerley ">Anerley </option> <option value="Arniston ">Arniston </option> <option value="Ashton ">Ashton </option> <option value="Augrabies ">Augrabies </option> <option value="Badplaas ">Badplaas </option> <option value="Bainskloof">Bainskloof</option> <option value="Balfour ">Balfour </option> <option value="Balgowan">Balgowan</option> <option value="Ballito ">Ballito </option> <option value="Bandelierkop ">Bandelierkop </option> <option value="Barberton ">Barberton </option> <option value="Barkly East ">Barkly East </option> <option value="Barkly West ">Barkly West </option> <option value="Barrydale ">Barrydale </option> <option value="Bathurst ">Bathurst </option> <option value="Bayala ">Bayala </option> <option value="Beaufort West ">Beaufort West </option> <option value="Bedford ">Bedford </option> <option value="Bela Bela (Warmbaths) ">Bela Bela (Warmbaths) </option> <option value="Benoni ">Benoni </option> <option value="Bergview ">Bergview </option> <option value="Bergville ">Bergville </option> <option value="Bethal">Bethal</option> <option value="Bethlehem ">Bethlehem </option> <option value="Bettys Bay ">Bettys Bay </option> <option value="Bloemfontein">Bloemfontein</option> <option value="Bloemhof ">Bloemhof </option> <option value="Blyde River Canyon ">Blyde River Canyon </option> <option value="Blythedale Beach ">Blythedale Beach </option> <option value="Boggomsbaai ">Boggomsbaai </option> <option value="Boksburg">Boksburg</option> <option value="Bonnievale ">Bonnievale </option> <option value="Bot River ">Bot River </option> <option value="Bothas Hill">Bothas Hill</option> <option value="Brakpan ">Brakpan </option> <option value="Bredasdorp ">Bredasdorp </option> <option value="Britannia Bay ">Britannia Bay </option> <option value="Brits ">Brits </option> <option value="Britstown ">Britstown </option> <option value="Broederstroom ">Broederstroom </option> <option value="Bronkhorstspruit">Bronkhorstspruit</option> <option value="Buffels Bay ">Buffels Bay </option> <option value="Buffelspoort">Buffelspoort</option> <option value="Butterworth ">Butterworth </option> <option value="Caledon ">Caledon </option> <option value="Calitzdorp">Calitzdorp</option> <option value="Cannon Rocks">Cannon Rocks</option> <option value="Cannonville ">Cannonville </option> <option value="Cape St Francis">Cape St Francis</option> <option value="Cape Town">Cape Town</option> <option value="Carolina ">Carolina </option> <option value="Cathcart ">Cathcart </option> <option value="Centurion ">Centurion </option> <option value="Ceres ">Ceres </option> <option value="Christiana ">Christiana </option> <option value="Churchaven ">Churchaven </option> <option value="Cintsa ">Cintsa </option> <option value="Citrusdal ">Citrusdal </option> <option value="Clansthal">Clansthal</option> <option value="Clanwilliam ">Clanwilliam </option> <option value="Clarens ">Clarens </option> <option value="Clocolan ">Clocolan </option> <option value="Coffee Bay">Coffee Bay</option> <option value="Colesberg">Colesberg</option> <option value="Cradock ">Cradock </option> <option value="Cullinan ">Cullinan </option> <option value="Currys Post ">Currys Post </option> <option value="Dargle ">Dargle </option> <option value="Darling ">Darling </option> <option value="De Aar ">De Aar </option> <option value="De Kelders ">De Kelders </option> <option value="De Rust ">De Rust </option> <option value="De Vlugt">De Vlugt</option> <option value="Delareyville ">Delareyville </option> <option value="Dendron ">Dendron </option> <option value="Deneysville ">Deneysville </option> <option value="Doringbaai">Doringbaai</option> <option value="Douglas ">Douglas </option> <option value="Dullstroom ">Dullstroom </option> <option value="Dundee ">Dundee </option> <option value="Durban">Durban</option> <option value="Dwaalboom ">Dwaalboom </option> <option value="Dwarskersbos ">Dwarskersbos </option> <option value="East London">East London</option> <option value="Edenvale ">Edenvale </option> <option value="Elands Bay ">Elands Bay </option> <option value="Elim ">Elim </option> <option value="Elysium ">Elysium </option> <option value="Emanguzi">Emanguzi</option> <option value="Empangeni">Empangeni</option> <option value="Ermelo ">Ermelo </option> <option value="Eshowe ">Eshowe </option> <option value="Estcourt ">Estcourt </option> <option value="Ficksburg ">Ficksburg </option> <option value="Florida ">Florida </option> <option value="Fort Beaufort">Fort Beaufort</option> <option value="Fouriesburg">Fouriesburg</option> <option value="Franschhoek ">Franschhoek </option> <option value="Franskraal ">Franskraal </option> <option value="Gansbaai ">Gansbaai </option> <option value="Gariep Dam">Gariep Dam</option> <option value="Garies ">Garies </option> <option value="George ">George </option> <option value="Germiston ">Germiston </option> <option value="Gingindlovu ">Gingindlovu </option> <option value="Glengarriff">Glengarriff</option> <option value="Glenmore Beach ">Glenmore Beach </option> <option value="Glentana">Glentana</option> <option value="Gordons Bay ">Gordons Bay </option> <option value="Gouritz ">Gouritz </option> <option value="Graaff-Reinet">Graaff-Reinet</option> <option value="Grabouw ">Grabouw </option> <option value="Grahamstown ">Grahamstown </option> <option value="Graskop ">Graskop </option> <option value="Great Brak ">Great Brak </option> <option value="Greyton ">Greyton </option> <option value="Groblersdal">Groblersdal</option> <option value="Groblershoop ">Groblershoop </option> <option value="Grotto Bay ">Grotto Bay </option> <option value="Haenertsburg ">Haenertsburg </option> <option value="Haga Haga ">Haga Haga </option> <option value="Hamburg ">Hamburg </option> <option value="Hanover ">Hanover </option> <option value="Harkerville ">Harkerville </option> <option value="Harrismith ">Harrismith </option> <option value="Hazyview ">Hazyview </option> <option value="Hectorspruit ">Hectorspruit </option> <option value="Heidelberg">Heidelberg</option> <option value="Heidelberg (WC) ">Heidelberg (WC) </option> <option value="Heilbron ">Heilbron </option> <option value="Hekpoort ">Hekpoort </option> <option value="Hennops River">Hennops River</option> <option value="Hermanus ">Hermanus </option> <option value="Herold(EC) ">Herold(EC) </option> <option value="Herold (WC)">Herold (WC)</option> <option value="Herolds Bay ">Herolds Bay </option> <option value="Hibberdene ">Hibberdene </option> <option value="Hilton">Hilton</option> <option value="Himeville">Himeville</option> <option value="Hluhluwe">Hluhluwe</option> <option value="Hobhouse">Hobhouse</option> <option value="Hoedspruit">Hoedspruit</option> <option value="Hoekwil">Hoekwil</option> <option value="Hogsback">Hogsback</option> <option value="Hondeklipbaai">Hondeklipbaai</option> <option value="Howick ">Howick </option> <option value="Illovo Beach ">Illovo Beach </option> <option value="Inchanga ">Inchanga </option> <option value="Infanta ">Infanta </option> <option value="Isandlwana ">Isandlwana </option> <option value="Jacobs Bay ">Jacobs Bay </option> <option value="Jeffreys Bay ">Jeffreys Bay </option> <option value="Johannesburg">Johannesburg</option> <option value="Jozini ">Jozini </option> <option value="Kaapmuiden ">Kaapmuiden </option> <option value="Kaapsehoop ">Kaapsehoop </option> <option value="Kakamas ">Kakamas </option> <option value="Kameelfontein">Kameelfontein</option> <option value="Kanoneiland ">Kanoneiland </option> <option value="Kasouga ">Kasouga </option> <option value="Katberg ">Katberg </option> <option value="Kathu ">Kathu </option> <option value="Kaysers Beach">Kaysers Beach</option> <option value="Kei Mouth ">Kei Mouth </option> <option value="Keimoes ">Keimoes </option> <option value="Kempton Park ">Kempton Park </option> <option value="Kenton-on-Sea ">Kenton-on-Sea </option> <option value="Keurboomstrand ">Keurboomstrand </option> <option value="Kidds Beach ">Kidds Beach </option> <option value="Kimberley ">Kimberley </option> <option value="King Williams Town">King Williams Town</option> <option value="Klaarstroom ">Klaarstroom </option> <option value="Klawer ">Klawer </option> <option value="Kleinbaai ">Kleinbaai </option> <option value="Kleinmond ">Kleinmond </option> <option value="Kleinpoort ">Kleinpoort </option> <option value="Klerksdorp ">Klerksdorp </option> <option value="Knysna ">Knysna </option> <option value="Kokstad ">Kokstad </option> <option value="Komatipoort ">Komatipoort </option> <option value="Koppies ">Koppies </option> <option value="Kosi Bay">Kosi Bay</option> <option value="Koster ">Koster </option> <option value="Kraalbaai ">Kraalbaai </option> <option value="Krakeel(EC) ">Krakeel(EC) </option> <option value="Krakeel(WC) ">Krakeel(WC) </option> <option value="Kroonstad">Kroonstad</option> <option value="Krugersdorp ">Krugersdorp </option> <option value="Kuruman ">Kuruman </option> <option value="Kwa Mbonambi">Kwa Mbonambi</option> <option value="KwaDukuza-Stanger">KwaDukuza-Stanger</option> <option value="Kwangwanase ">Kwangwanase </option> <option value="Kwelera ">Kwelera </option> <option value="La Mercy ">La Mercy </option> <option value="Ladismith ">Ladismith </option> <option value="Lady Grey">Lady Grey</option> <option value="Ladybrand">Ladybrand</option> <option value="Ladysmith ">Ladysmith </option> <option value="Laingsburg ">Laingsburg </option> <option value="Lamberts Bay ">Lamberts Bay </option> <option value="Langebaan ">Langebaan </option> <option value="Lanseria ">Lanseria </option> <option value="Leisure Bay">Leisure Bay</option> <option value="Lephalale (Ellisras) ">Lephalale (Ellisras) </option> <option value="Lichtenburg ">Lichtenburg </option> <option value="Lidgetton ">Lidgetton </option> <option value="Lions River ">Lions River </option> <option value="Little Brak ">Little Brak </option> <option value="Louwsburg ">Louwsburg </option> <option value="Lower Sabie ">Lower Sabie </option> <option value="Loxton ">Loxton </option> <option value="Lubanzi ">Lubanzi </option> <option value="Luneburg ">Luneburg </option> <option value="Lusikisiki ">Lusikisiki </option> <option value="Lydenburg ">Lydenburg </option> <option value="Mabibi ">Mabibi </option> <option value="Machadodorp ">Machadodorp </option> <option value="Mafikeng ">Mafikeng </option> <option value="Magaliesburg ">Magaliesburg </option> <option value="Makhado (Louis Trichart) ">Makhado (Louis Trichart) </option> <option value="Malelane ">Malelane </option> <option value="Malmesbury ">Malmesbury </option> <option value="Manaba Beach ">Manaba Beach </option> <option value="Marble Hall ">Marble Hall </option> <option value="Margate ">Margate </option> <option value="Mata Mata ">Mata Mata </option> <option value="Mazeppa Bay ">Mazeppa Bay </option> <option value="Mbazwana ">Mbazwana </option> <option value="Mbotyi ">Mbotyi </option> <option value="McGregor ">McGregor </option> <option value="Melkrivier ">Melkrivier </option> <option value="Mellville ">Mellville </option> <option value="Melmoth ">Melmoth </option> <option value="Meyerton">Meyerton</option> <option value="Middelburg ">Middelburg </option> <option value="Middelburg - Mpumalanga">Middelburg - Mpumalanga</option> <option value="Middleton ">Middleton </option> <option value="Midrand ">Midrand </option> <option value="Mkuze ">Mkuze </option> <option value="Modimolle (Nylstroom) ">Modimolle (Nylstroom) </option> <option value="Mokopane (Potgietersrus)">Mokopane (Potgietersrus)</option> <option value="Montagu ">Montagu </option> <option value="Mooi River ">Mooi River </option> <option value="Mooinooi ">Mooinooi </option> <option value="Mookgopong (Naboomspruit) ">Mookgopong (Naboomspruit) </option> <option value="Moorreesburg ">Moorreesburg </option> <option value="Morgan Bay ">Morgan Bay </option> <option value="Mossel Bay ">Mossel Bay </option> <option value="Mtubatuba ">Mtubatuba </option> <option value="Mtunzini ">Mtunzini </option> <option value="Mtwalume ">Mtwalume </option> <option value="Muldersdrift">Muldersdrift</option> <option value="Munster ">Munster </option> <option value="Murraysburg ">Murraysburg </option> <option value="Musina(Messina) ">Musina(Messina) </option> <option value="Napier ">Napier </option> <option value="Natures Valley ">Natures Valley </option> <option value="Nelspruit ">Nelspruit </option> <option value="New England ">New England </option> <option value="Newcastle">Newcastle</option> <option value="Nieu Bethesda ">Nieu Bethesda </option> <option value="Nigel ">Nigel </option> <option value="Noetzie ">Noetzie </option> <option value="North Coast old ">North Coast old </option> <option value="Northam ">Northam </option> <option value="Nottingham Road ">Nottingham Road </option> <option value="Nuwerus ">Nuwerus </option> <option value="Nuy ">Nuy </option> <option value="Ohrigstad ">Ohrigstad </option> <option value="Onrus ">Onrus </option> <option value="Oranjeville">Oranjeville</option> <option value="Oudtshoorn ">Oudtshoorn </option> <option value="Paarl ">Paarl </option> <option value="Palm Beach ">Palm Beach </option> <option value="Park Rynie ">Park Rynie </option> <option value="Parys ">Parys </option> <option value="Paternoster ">Paternoster </option> <option value="Paul Roux">Paul Roux</option> <option value="Pearly Beach ">Pearly Beach </option> <option value="Pearston ">Pearston </option> <option value="Pennington ">Pennington </option> <option value="Phalaborwa ">Phalaborwa </option> <option value="Philippolis">Philippolis</option> <option value="Philipstown ">Philipstown </option> <option value="Piet Retief">Piet Retief</option> <option value="Pietermaritzburg">Pietermaritzburg</option> <option value="Piketberg ">Piketberg </option> <option value="Pilgrims Rest">Pilgrims Rest</option> <option value="Pinetown ">Pinetown </option> <option value="Plettenberg Bay ">Plettenberg Bay </option> <option value="Polokwane (Pietersburg) ">Polokwane (Pietersburg) </option> <option value="Pongola ">Pongola </option> <option value="Port Alfred ">Port Alfred </option> <option value="Port Edward">Port Edward</option> <option value="Port Elizabeth">Port Elizabeth</option> <option value="Port Nolloth ">Port Nolloth </option> <option value="Port Owen ">Port Owen </option> <option value="Port Shepstone">Port Shepstone</option> <option value="Port St Johns ">Port St Johns </option> <option value="Potchefstroom ">Potchefstroom </option> <option value="Pretoria (Tshwane) ">Pretoria (Tshwane) </option> <option value="Prince Albert ">Prince Albert </option> <option value="Pringle Bay ">Pringle Bay </option> <option value="Pumula ">Pumula </option> <option value="Queenstown ">Queenstown </option> <option value="Ramsgate ">Ramsgate </option> <option value="Randburg ">Randburg </option> <option value="Randfontein ">Randfontein </option> <option value="Rawsonville ">Rawsonville </option> <option value="Redhouse ">Redhouse </option> <option value="Rheenendal ">Rheenendal </option> <option value="Rhodes ">Rhodes </option> <option value="Richards Bay ">Richards Bay </option> <option value="Richmond - KZN ">Richmond - KZN </option> <option value="Richmond – Northern Cape ">Richmond – Northern Cape </option> <option value="Riebeeck West ">Riebeeck West </option> <option value="Riebeek Kasteel">Riebeek Kasteel</option> <option value="Riversdale ">Riversdale </option> <option value="Robertson ">Robertson </option> <option value="Rondevlei ">Rondevlei </option> <option value="Roodepoort ">Roodepoort </option> <option value="Rooiberg ">Rooiberg </option> <option value="Rorkes Drift ">Rorkes Drift </option> <option value="Rosetta ">Rosetta </option> <option value="Rouxville ">Rouxville </option> <option value="Rustenburg ">Rustenburg </option> <option value="Sabie ">Sabie </option> <option value="Saldanha ">Saldanha </option> <option value="Salem ">Salem </option> <option value="Salt Rock ">Salt Rock </option> <option value="San Lameer ">San Lameer </option> <option value="Sandbaai ">Sandbaai </option> <option value="Sasolburg">Sasolburg</option> <option value="Schoemansdrift">Schoemansdrift</option> <option value="Schoemanskloof ">Schoemanskloof </option> <option value="Schoemansville ">Schoemansville </option> <option value="Scottburgh ">Scottburgh </option> <option value="Sea Park ">Sea Park </option> <option value="Sedgefield ">Sedgefield </option> <option value="Senekal ">Senekal </option> <option value="Shakas Rock ">Shakas Rock </option> <option value="Shakaskraal ">Shakaskraal </option> <option value="Sheffield Beach ">Sheffield Beach </option> <option value="Shelley Point ">Shelley Point </option> <option value="Shelly Beach (KZN) ">Shelly Beach (KZN) </option> <option value="Sidbury ">Sidbury </option> <option value="Simons Town ">Simons Town </option> <option value="Skukuza ">Skukuza </option> <option value="Sodwana Bay ">Sodwana Bay </option> <option value="Somerset East">Somerset East</option> <option value="Somerset West ">Somerset West </option> <option value="Southbroom ">Southbroom </option> <option value="Southport ">Southport </option> <option value="Soweto ">Soweto </option> <option value="Springbok ">Springbok </option> <option value="Springfontein">Springfontein</option> <option value="Springs ">Springs </option> <option value="St Francis Bay ">St Francis Bay </option> <option value="St Helena Bay ">St Helena Bay </option> <option value="St Lucia ">St Lucia </option> <option value="St Michaels on Sea">St Michaels on Sea</option> <option value="Standerton ">Standerton </option> <option value="Stanford ">Stanford </option> <option value="Stellenbosch ">Stellenbosch </option> <option value="Steytlerville ">Steytlerville </option> <option value="Stilbaai ">Stilbaai </option> <option value="Stilfontein ">Stilfontein </option> <option value="Stompneusbaai ">Stompneusbaai </option> <option value="Stormsriver ">Stormsriver </option> <option value="Strand ">Strand </option> <option value="Strandfontein ">Strandfontein </option> <option value="Struisbaai ">Struisbaai </option> <option value="Strydenburg ">Strydenburg </option> <option value="Stutterheim ">Stutterheim </option> <option value="Sunwich Port ">Sunwich Port </option> <option value="Sutherland ">Sutherland </option> <option value="Swartruggens">Swartruggens</option> <option value="Swartwater ">Swartwater </option> <option value="Swellendam ">Swellendam </option> <option value="Tergniet ">Tergniet </option> <option value="Thabazimbi">Thabazimbi</option> <option value="The Crags ">The Crags </option> <option value="Thohoyandou ">Thohoyandou </option> <option value="Tinley Manor ">Tinley Manor </option> <option value="Touws River ">Touws River </option> <option value="Trafalgar ">Trafalgar </option> <option value="Trompsburg ">Trompsburg </option> <option value="Tshipise ">Tshipise </option> <option value="Tulbagh ">Tulbagh </option> <option value="Tzaneen ">Tzaneen </option> <option value="Uitenhage">Uitenhage</option> <option value="Ulundi ">Ulundi </option> <option value="Umhlali">Umhlali</option> <option value="Umhlanga ">Umhlanga </option> <option value="Umkomaas ">Umkomaas </option> <option value="Umtata ">Umtata </option> <option value="Umtentweni">Umtentweni</option> <option value="Umzumbe ">Umzumbe </option> <option value="Underberg ">Underberg </option> <option value="Uniondale ">Uniondale </option> <option value="Upington ">Upington </option> <option value="Uvongo ">Uvongo </option> <option value="Vaal Marina ">Vaal Marina </option> <option value="Vaalwater ">Vaalwater </option> <option value="Vanderbijlpark ">Vanderbijlpark </option> <option value="Vanrhynsdorp ">Vanrhynsdorp </option> <option value="Velddrif ">Velddrif </option> <option value="Venterskroon">Venterskroon</option> <option value="Venterstad ">Venterstad </option> <option value="Vereeniging ">Vereeniging </option> <option value="Vermont ">Vermont </option> <option value="Victoria Bay ">Victoria Bay </option> <option value="Vivo ">Vivo </option> <option value="Vredenburg ">Vredenburg </option> <option value="Vryburg ">Vryburg </option> <option value="Vryheid ">Vryheid </option> <option value="Wakkerstroom ">Wakkerstroom </option> <option value="Walkerville ">Walkerville </option> <option value="Warner Beach ">Warner Beach </option> <option value="Wartburg ">Wartburg </option> <option value="Waterval Boven ">Waterval Boven </option> <option value="Waterval Onder ">Waterval Onder </option> <option value="Weenen ">Weenen </option> <option value="Welkom ">Welkom </option> <option value="Wellington ">Wellington </option> <option value="Westbrook Beach ">Westbrook Beach </option> <option value="Westville ">Westville </option> <option value="White River ">White River </option> <option value="Wilderness ">Wilderness </option> <option value="Winterstrand">Winterstrand</option> <option value="Winterton">Winterton</option> <option value="Witbank ">Witbank </option> <option value="Witsand ">Witsand </option> <option value="Worcester ">Worcester </option> <option value="Yzerfontein ">Yzerfontein </option> <option value="Zimbali ">Zimbali </option> <option value="Zinkwazi Beach ">Zinkwazi Beach </option> </select>
Copy link to clipboard
Copied
I found an answer to my question in the spry forum. You answered the question yourself. The forum is http://forums.adobe.com/thread/707390?tstart=30
Thanks man.
Copy link to clipboard
Copied
I have a question regarding the information you gave me. I am able to create the master/detail relationship between the datasets and everything. I also managed to get the Master container into the <select> form with spry:repeatchildren function. I can also get the detail container into <select> form but unable to display necessary information based on selection in master collumn. i.e Select province but cities doesn't repopulate. My guess is I'm missing some sort of JavaScript. i'm vouching for the onChange function in the first dropdown. But I have no clue about how JavaScript operates. Please can you have a quick look and let me know what's wrong and if you have any suggestions I will appreciate it very much.
<!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" xmlns:spry="http://ns.adobe.com/spry"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script src="SpryAssets/xpath.js" type="text/javascript"></script> <script src="SpryAssets/SpryData.js" type="text/javascript"></script> <link href="SpryAssets/SpryMasterDetail.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> <!-- var ds1 = new Spry.Data.XMLDataSet("data/provinces/provinces.xml", "provinces/province"); var ds2 = new Spry.Data.XMLDataSet("data/provinces/{ds1::url}", "province/cities/city"); //--> </script> </head> <body> <div class="MasterDetail"> <span spry:region="ds1" id="provinceSelector"> <select spry:repeatchildren="ds1" name="provinceSelect" onchange="document.forms[0].citySelect.disabled = true; ds1.setCurrentRowNumber(this.selectedIndex);"> <option spry:if="{ds_RowNumber} == {ds_CurrentRowNumber}" value="{name}" selected="selected">{name}</option> <option spry:if="{ds_RowNumber} != {ds_CurrentRowNumber}" value="{name}">{name}</option> </select> </span> <span spry:region="ds2" id="citySelector"> <select spry:repeatchildren="ds2" id="citySelect" name="citySelect"> <option spry:if="{ds_RowNumber} == {ds_CurrentRowNumber}" value="{name}" selected="selected">{name}</option> <option spry:if="{ds_RowNumber} != {ds_CurrentRowNumber}" value="{name}">{name}</option> </select> </span> <br style="clear:both" /> </div> </body> </html>
Also- is there a way to make the <option selected> option "Select from list"? When I try that, the message also repeats
Thanks in advance,
Reandré
Copy link to clipboard
Copied
If you right-click the page that I gave you you will find the following markup
<!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" xmlns:spry="http://ns.adobe.com/spry">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Data Set Master/Detail Sample</title>
<link href="../../css/samples.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/javascript" src="../../includes/xpath.js"></script>
<script language="JavaScript" type="text/javascript" src="../../includes/SpryData.js"></script>
<script type="text/javascript">
var dsStates = new Spry.Data.XMLDataSet("../../data/states/states.xml", "states/state");
var dsCities = new Spry.Data.XMLDataSet("../../data/states/{dsStates::url}", "state/cities/city");
</script>
</head>
<body>
<h3>Data Set Master/Detail Sample</h3>
<p>This page demonstrates how to set up a Master/Detail relationship between two data sets. In this example, selecting a state from the "State" select form element causes the "City" select form element to be updated with the cities for the currently selected state.</p>
<p>The master/detail relationship is established by simply using the value of the url column, in the currently selected row, of the dsStates data set, as the URL arg to the constructor for the dsCities data set. When a state is selected, the "State" select form element changes the current row on the dsStates data set, which triggers the dsCities data set to update, which in turn causes the "City" select form element to update. </p>
<hr />
<form name="selectForm" action="">
State:
<span spry:region="dsStates" id="stateSelector">
<select spry:repeatchildren="dsStates" name="stateSelect" onchange="document.forms[0].citySelect.disabled = true; dsStates.setCurrentRowNumber(this.selectedIndex);">
<option spry:if="{ds_RowNumber} == {ds_CurrentRowNumber}" value="{name}" selected="selected">{name}</option>
<option spry:if="{ds_RowNumber} != {ds_CurrentRowNumber}" value="{name}">{name}</option>
</select>
</span>
City:
<span spry:region="dsCities" id="citySelector">
<select spry:repeatchildren="dsCities" id="citySelect" name="citySelect">
<option spry:if="{ds_RowNumber} == {ds_CurrentRowNumber}" value="{name}" selected="selected">{name}</option>
<option spry:if="{ds_RowNumber} != {ds_CurrentRowNumber}" value="{name}">{name}</option>
</select>
</span>
</form>
</body>
</html>
I know I am not answering your question directly, merely guiding you. Hopefully you will learn better this way.

