Title: Dropdown list from API
Last modified: August 21, 2016

---

# Dropdown list from API

 *  Resolved [Brendavo](https://wordpress.org/support/users/successful-life/)
 * (@successful-life)
 * [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/)
 * Hi,
 * Regarding this thread:
    [http://wordpress.org/support/topic/select-options-from-xml-json-csv?replies=4](http://wordpress.org/support/topic/select-options-from-xml-json-csv?replies=4)
 * I did as you told me, but it’s not working that way.
 * 1. I created a field with id=billing_pastastacija.
 * 2. i pasted this code inside the Options box, in the new field.
 *     ```
       <select name="ps-terminal-id" id="ps-terminal-slect" ></select>
       <script type="text/javascript" src="http://klients.pastastacija.lv/api/terminals.js"></script>
       ```
   
 * 3. i went to wcpgsk-user.js
    This is what it looked like:
 *     ```
       /*
        * Please paste your custom functions for WooCommerce checkout here
        * You may use this file to run your own client side validation for the checkout form
   
        * Example code to fill a select option:
   
       var _postServiceTerminals = [
       		{id: '1', name: 'Rīga, Pasta Stacija 101, A. Saharova iela 20a (Maxima XX)'},{id: '6', name: 'Rīga, Pasta Stacija 106, Āzenes iela 5 (T/C Olimpia)'},{id: '24', name: 'Rīga, Pasta Stacija 124, Brīvības 434b (T/C Juglas Centrs)'},{id: '39', name: 'Rīga, Pasta Stacija 139, Dzirnavu iela 67 (Galleria Riga)'},{id: '2', name: 'Rīga, Pasta Stacija 102, K. Ulmaņa gatve 88a (Maxima XXX)'},{id: '42', name: 'Rīga, Pasta Stacija 142, Krasta iela 46 (T/C MOLS)'},{id: '29', name: 'Rīga, Pasta Stacija 129, Mūkusalas iela 95 (T/C IKI)'},{id: '40', name: 'Rīga, Pasta Stacija 140, Rīga, Stacijas laukums 2 (T/C Origo)'},{id: '3', name: 'Rīga, Pasta Stacija 103, Slokas iela 115 (Maxima XXX)'},{id: '7', name: 'Rīga, Pasta Stacija 107, Stirnu iela 26'},{id: '15', name: 'Rīga, Pasta Stacija 115, Tilta iela 32 (Rimi)'},{id: '30', name: 'Aizkraukle, Pasta Stacija 130, Spīdolas iela 17 (T/C SuperNetto)'},{id: '27', name: 'Alūksne, Pasta Stacija 127, Pils iela 9b (t/c Maxima)'},{id: '21', name: 'Bauska, Pasta Stacija 121, Pionieru iela 2 (Rimi)'},{id: '31', name: 'Cēsis, Pasta Stacija 131, Lapsu iela 23 (Mego)'},{id: '17', name: 'Daugavpils, Pasta Stacija 117, Rīgas iela 9 (t/c SOLO)'},{id: '26', name: 'Dobele, Pasta Stacija 126, Muldavas iela 3a (T/C Forums)'},{id: '36', name: 'Gulbene, Pasta Stacija 136, Skolas iela 7 (t/c Maxima X)'},{id: '16', name: 'Jēkabpils, Pasta Stacija 116, Vienības iela 1a, T/C "MEGO"'},{id: '8', name: 'Jelgava, Pasta Stacija 108, Katoļu iela 7, (Kanclera nams)'},{id: '20', name: 'Jūrmala, Pasta Stacija 120, Artilērijas iela 2 (IKI)'},{id: '28', name: 'Ķekava, Pasta Stacija 128, Rīgas iela 22 (T/C Liiba)'},{id: '22', name: 'Kuldīga, Pasta Stacija 122, Smilšu iela 20 (ELVI)'},{id: '4', name: 'Liepāja, Pasta Stacija 104, K. Zāles laukums 8 (T/C Ostmala)'},{id: '41', name: 'Liepāja, Pasta Stacija 141, Klaipēdas iela 62 (t/c XL Sala)'},{id: '32', name: 'Limbaži, Pasta Stacija 132, Stacijas iela 8 (T/C Maxima XX)'},{id: '25', name: 'Madona, Pasta Stacija 125, Rūpniecības iela 49 (Maxima XX)'},{id: '18', name: 'Ogre, Pasta Stacija 118, Rīgas iela 23 (T/C Dauga)'},{id: '38', name: 'Preiļi, Pasta Stacija 138, Rēzeknes iela 4a (Maxima X)'},{id: '14', name: 'Rēzekne, Pasta Stacija 114, Pulkveža Brieža iela 26 (Maxima X)'},{id: '5', name: 'Saldus, Pasta Stacija 105, Striķu iela 10c (T/C Akvārijs)'},{id: '12', name: 'Sigulda, Pasta Stacija 112, Vidzemes šoseja 16 (T/C Raibais suns)'},{id: '23', name: 'Talsi, Pasta Stacija 123, Rīgas iela 8 (Maxima XX)'},{id: '19', name: 'Tukums, Pasta Stacija 119, Pasta iela 14 (T/C Rimi)'},{id: '10', name: 'Valka, Pasta Stacija 110, Ausekļa iela 54 (T/C Walk)'},{id: '9', name: 'Valmiera, Pasta Stacija 109, Rīgas iela 4 (T/C Valleta)'},{id: '13', name: 'Ventspils, Pasta Stacija 113, Lielais prospekts 3/5 (T/C Tobago)'}
       	];
   
       	var _postServiceTerminalsSelect = document.getElementById('ps-terminal-slect');
       	for (var _ps_index = 0; _ps_index < _postServiceTerminals.length; _ps_index++ ) {
       		var _psTerminal = _postServiceTerminals[_ps_index];
       		var _postServiceOption = document.createElement('option');
       		_postServiceOption.value = _psTerminal.id;
       		_postServiceOption.text = _psTerminal.name;
   
       		try {
       		  _postServiceTerminalsSelect.add(_postServiceOption, _postServiceTerminalsSelect.options[null]);
       		}
       		catch (e)
       		{
       		  _postServiceTerminalsSelect.add(_postServiceOption, null);
       		}
       	}
       */
       ```
   
 * 4. All of that code was commented out. When i pasted this code under the commented
   out section, nothing happened. The dropdown just showed the script text.
 * `var _postServiceTerminalsSelect = document.getElementById('billing_pastastacija');`
 * 5. Then i un-commented the whole code on step 3, changed the var and removed 
   the script text in field Options, then it showed the list. BUT, it was just a
   static list from the wcpgsk-user.js file, showing all the addresses from the 
   list there.
    How is that dynamic and how would it change if the shipping provider
   changes their list here?
 *     ```
       <select name="ps-terminal-id" id="ps-terminal-slect" ></select>
       <script type="text/javascript" src="http://klients.pastastacija.lv/api/terminals.js"></script>
       ```
   
 * ——————————————————————
 * Second problem.
 * I need to add a second dropdown list with addresses from a second shipping provider.
   
   I dont have yet any info if they have an API for displaying their address list,
   but i assume they have it. So i will need a second dropdown pulling a list from
   another src.
 * ——————————————————————-
 * Please help me fix this. And be very specific on what exactly i should post and
   where. I am not very experienced with coding etc.
 * P.s. So far i love your addon, i just need to make this work and then it would
   be perfect for my purposes.
 * [https://wordpress.org/plugins/woocommerce-poor-guys-swiss-knife/](https://wordpress.org/plugins/woocommerce-poor-guys-swiss-knife/)

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Plugin Author [ulihake](https://wordpress.org/support/users/ulih/)
 * (@ulih)
 * [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/#post-4696994)
 * Hello Brendavo.
 * I have tested the solution I’ve offered to you and others as enhancement of the
   plugin. I used your!!! javascript code to do so. And it works. I’m not able to
   address such specific implementation problems. This is work of a programmer/consultant
   but it’s not in the scope of a free plugin to solve these site specific problems.
 * You stated that you’re building and running a website with heavy needs of customization.
   A plugin author is not a substitution for services you need to buy if necessary.
 * Sorry to be that clear, but I can’t dedicate my time on solving personal problems.
 * I hope you can understand this.
 * Regards.
    uh
 *  Plugin Author [ulihake](https://wordpress.org/support/users/ulih/)
 * (@ulih)
 * [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/#post-4696996)
 * One thing: You should not paste your code into the “options box”. The code has
   to be placed or inside the wcpgsk-user.js file or inside the textarea in the 
   checkout section. And you have to adapt the code to meet the id of your field.
 * But once again, these are problems that are not related with my plugin. If you
   like to pay for this service you will find people that may help you with this.
   Maybe somebody reading this could offer you some dedicated help.
 * Regards.
    uh
 *  Plugin Author [ulihake](https://wordpress.org/support/users/ulih/)
 * (@ulih)
 * [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/#post-4696999)
 * This won’t work:
    `<script type="text/javascript" src="http://klients.pastastacija.
   lv/api/terminals.js"></script>`
 * The code in wcpgsk_user.js has to be adapted to your specific situation. It’s
   essentially the same code you try to load with terminals.js and you should never
   load code twice.
 * I understand that it would be great for you to have the same id as expected in
   the external js file but this does not work with the internal processing of WooCommerce.
   Billing fields are billing_something ids and shipping fields are shipping_something
   ids.
 * These are the last hints for your problem.
 * uli
 *  Thread Starter [Brendavo](https://wordpress.org/support/users/successful-life/)
 * (@successful-life)
 * [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/#post-4697001)
 * Thank you for your help, again.
    I will try to get this working.
 * P.s. If you said that you made this work yourself, can’t you just copy paste 
   exactly what you put in wcpgsk-user.js ?
 * As said before, i have no experience with this and it would take me hours or 
   days to get this working without help, i assume.

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Dropdown list from API’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/woocommerce-poor-guys-swiss-knife_ffffff.
   svg)
 * [WooCommerce Poor Guys Swiss Knife](https://wordpress.org/plugins/woocommerce-poor-guys-swiss-knife/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/woocommerce-poor-guys-swiss-knife/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/woocommerce-poor-guys-swiss-knife/)
 * [Active Topics](https://wordpress.org/support/plugin/woocommerce-poor-guys-swiss-knife/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/woocommerce-poor-guys-swiss-knife/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/woocommerce-poor-guys-swiss-knife/reviews/)

 * 4 replies
 * 2 participants
 * Last reply from: [Brendavo](https://wordpress.org/support/users/successful-life/)
 * Last activity: [12 years, 3 months ago](https://wordpress.org/support/topic/dropdown-list-from-api/#post-4697001)
 * Status: resolved