Ajax Driven Dropdown Lists for ProcessWire made easy

Creating and Setting Up Backend Dynamic Selects

Building Dynamic Selects for use in the backend (Fieldtype- and InputfieldDynamicSelects) is a 4-step process. These are described below.

Create Field of Type DynamicSelects

First you will need to add/create a field in ProcessWire in the usual way. When creating the field make it of type DynamicSelects.

Edit DynamicSelects Field Settings

Next, you need to edit the settings of the field you created in the first step. Head over to the Details Tab of the field. A complete guide about what these settings do can be found here. Please note that some of the settings, as indicated in their documentation, only apply to MarkupDynamicSelects (frontend use of the module). 

Edit the settings to build your Dynamic Selects to your liking. Save the field. If there are any errors, these will be displayed. Correct them and save again.

Add DynamicSelects Field to a Template

If all went well in the previous step, you are now ready to start using your Dynamic Selects. Go ahead and add the DynamicSelects field to a template(s) of your choice.

Edit a Page with a DynamicSelects Field

To use your DynamicSelects field, edit a page whose template has the field. You should see the DynamicSelects field you created displayed  (InputfieldDynamicSelects in this case) on the page, ready for editing. If the selector or custom PHP code you provided for your first/initial column was valid, you will see its results/data in the first select. Make a selection to trigger the chained select. The second select will be populated with options based on the selection you made in the first select, and so on, without a page refresh (i.e. the process is ajax-driven). To save your selections, save the page. When the page reloads the Dynamic Selects will be displayed with the options you made earlier selected since those were saved to the database.