Dynami c зависимое поле выбора для страны, штата и почтового индекса - PullRequest
0 голосов
/ 13 апреля 2020

Я работал над зависимой формой полей выбора, используя PHP в качестве языка на стороне сервера и JQuery с Ajax. В этом поле выбора есть одно условие: предположим, что если в стране я выберу Соединенные Штаты Америки, то штаты этой конкретной страны должны отображаться в полях выбора штатов. Но я столкнулся с проблемой в этой части, я не смог получить состояния. Я новичок в Ajax и нет видео, которое могло бы помочь мне с моей проблемой.

```
HTML&PHP:


                  <tbody class="countrySel" >
                   <TR>     
                    <TD class="srchItem" >Country<FONT color="red">*</FONT></TD>
                     <TD class="srchItem">
                        <select name="Country" id="Country" >
                         <option value=""></option>
                            <?php
                              global $wpdb;
                              $res = $wpdb->get_results("select * from wp_countries ORDER BY `sun_countryname` ASC" );                              
                                foreach($res as $resc){
                             ?>
                                <option value="<?php echo $resc->sun_countryname; ?>"><?php echo $resc->sun_countryname; ?></option>
                                <?php }?>
                                </select></TD>
                            <td id="response">
                                <!--Response will be inserted here-->
                            </td>
                        </TR>                           
                    </tbody>

                        <tbody class="stateSel" >
                            <TR id="trState" style="display:none;">
                                <TD class="srchItem">State<FONT color="red">*</FONT></TD>
                                <TD class="srchItem">
                                    <select name="State" id="State" >

                                    <?php
                                        global $wpdb;
                                        echo $gc;
                                        $res = $wpdb->get_results( 'SELECT * FROM wp_states WHERE sun_countryname = '."$gc".' ORDER BY sun_statename');     
                                        foreach($res as $resc){

                                    ?>
                                    <option value="<?php echo $resc->sun_statename; ?>"><?php echo $resc->sun_statename; ?></option>
                                <?php }?>
                                    </select></TD>
                            </TR>   
                        </tbody>


    $(document).ready(function () {   
     $('.countrySel').on('change','#Country', function() {
     var country = this.value;

     $.ajax({
      type: 'post',
      url: 'http://localhost/wordpress0/wp-content/themes/twentytwenty/ajax.php',
      data: {value: country},
      success: function(returnResponseData){
        alert('Ajax return data is: ' + returnResponseData);

      }
     });
     //alert(country);

     if(country == 'United States of America')
     {
            $("#trState").show();
            $("#trPostal").show();              

     }else if(country == 'Canada' || country == 'Mexico')
     {
        $("#trState").show(); 
        $("#trPostal").hide();          
     }
     else
     {
         $("#trState").hide();
     }
  });

});


$states = $wpdb->get_results( "SELECT * FROM wp_states WHERE  sun_countryname = '$gc' ORDER BY sun_statename ASC");
print_r($states);

//mysql_fetch_array($states[2]);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...