2016-04-13 8 views
-1

Dies ist mein Code für Multiple Dropdown.Dynamisch Select Dropdown Wordpress Nach erweiterten benutzerdefinierten Feld

Ich habe zwei Dropdown, One for City und andere für Area.

Wenn also jemand eine Stadt auswählt, sollte der Bereich Dropdown automatisch ausgefüllt werden.

Dies ist die URL

http://ctclick.com/category/

<? 

$field_key = "field_570e68df39304"; 
$field = get_field_object($field_key); 


if($field == 'pune') 

    { 
     $field_key = "field_570e68df39304"; 
     $field = get_field_object($field_key); 
      if($field) 
       {  
        echo '<select name="city" class="form-control" id="city">';   
        foreach($field['choices'] as $k => $v)   
         { 
          echo '<option value="' . $k . '">' . $v . '</option>';   
         }  
          echo '</select>'; 
       } 
    } 

elseif ($field == 'akola') 
    { 
     $field_key = "field_570e691b39305"; 
     $field = get_field_object($field_key); 
     if($field) 
      {  
       echo '<select name="city" class="form-control" id="city">';   
        foreach($field['choices'] as $k => $v)   
         {    
          echo '<option value="' . $k . '">' . $v . '</option>';   
         }  
          echo '</select>'; 
      } 
    } 
else 
{ 
    ?> 
    <select class="form-control"> 
    <option>Select Area</option> 
    </select> 
    <? 
} 

?> 
+0

Ihre Frage ist ...? – j08691

+0

Haben Sie ein wenig Respekt für die Benutzer hier, die versuchen, Ihnen zu helfen, und sich bemühen, Ihren Code zu reformieren –

+0

Ich habe es neu formatiert ... Bitte überprüfen Sie jetzt – user3323829

Antwort

0

In diesem Fall werden Sie wahrscheinlich einige Ajax in Ihrem Code verwenden müssen, so dass, wenn Sie den Wert des ersten Drop-Down-Menü zu ändern, es löst ein Ajax-Ruf. Um dies zu erreichen würden Sie einige Javascript wie diese

$('#city_dropdown').change(function() { 
    jQuery.ajax({ 
     url: "/wp-admin/admin-ajax.php", 
     type: 'POST', 
     data: { 
      action: 'get_city_areas', 
      city_id: $(this).val(),    
     }, 
     dataType: 'html', 
     success: function (result) { 
      $('#area-dropdown').html(result) 
     }, 
     error: function (errorThrown) { 
      console.log(errorThrown); 
     } 
    }) 
}); 

umfassen müssen Was passiert ist, dass, wenn Ihre Stadt Drop-Down geändert wird, löst es eine Ajax-Anfrage alle damit verbundenen Bereiche zu erhalten. Ajax in Wordpress erfolgt über das Admin-Ajax-System. Sie können hier mehr dazu lesen: https://codex.wordpress.org/AJAX_in_Plugins

In functions.php Datei, die Sie folgendes registrieren einen Ajax-Aufruf hinzufügen könnte die Stadtgebiete

add_action('wp_ajax_get_city_areas', 'handle_get_city_areas'); 
add_action('wp_ajax_nopriv_get_city_areas', 'handle_get_city_areas'); 
/** 
* Handle the list of areas 
*/ 
function handle_get_city_areas(){ 
    $city_id = $_POST['city_id']; 
    //Using the city ID, retrieve the related areas 
    //and then echo the new select menu 
} 

, dass Sie sollten abrufen helfen, was Sie suchen, zum.

Verwandte Themen