I want to custom field "City" to dropdown list in checkout page (magento 2.1.5).

Is it possible? How can do that?

enter image description here

New update:

enter image description here

Thank you!

  • Are you able to figure it out? – MagePsycho Nov 2 '17 at 7:04

By default there is no option in magento2 for making the city field as dropdown like state and country in the checkout page.

An approach would be to add relations to the directory_country and/or directory_country_region tables to only show cities which belong to the specific country or region selected in the checkout.

you will need to overwrite of the class \Magento\Checkout\Block\Checkout\LayoutProcessor by using 'options' value provided by the third party api for city(or use a custom array):-

 $elements = [
        'city' => [
            'visible' => true,
            'formElement' => 'select',
            'label' => __('City'),
            'value' =>  '',
            'options' => array_option(),

Hope this helps

| improve this answer | |
  • Thank you. I have tried your way, but seem to not work. Does I need to changes anything else? I have changed in: vendor\Magento\Checkout\Block\Cart\LayoutProcessor. Please review my new attach image above. Thanks! – TriAnhHuynh Sep 28 '17 at 1:57
  • @TriAnhHuynh If you have fixed this please share you code – Mukesh Prajapati Nov 20 '19 at 11:57
  • please share your code i also have the same requirement – Harsh Jayswal Sep 15 at 9:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.