Нужно, чтобы блоки выбора цепочки появлялись ВСЕ перед выбором значений для первого поля выбора - PullRequest
0 голосов
/ 01 марта 2012

Мои цепочки выбора в настоящее время работают нормально.Первое поле выбора - это модель транспортного средства или vmake, а второе поле - это модель транспортного средства или vmodel.Прямо сейчас, только окно выбора vmake появляется при загрузке страницы, а поле vmodel появляется только после выбора значения для vmake.Мой клиент хочет, чтобы при выборе страницы появлялись поля выбора vmodel и vmake (даже если поле vmodel будет пустым, пока пользователь не сделает выбор из vmake).Звучит глупо, но клиент действительно хочет этого.

Вот код jquery с главной страницы

 <script type="text/javascript">$(document).ready(function() {
    $('#wait_1').hide();
    $('#vmake').change(function(){
      $('#wait_1').show();
      $('#result_1').hide();
      $.get("func.php", {
        func: "vmake",
        drop_var: $('#vmake').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
        return false;
    });
});
function finishAjax(id, response) {  $('#wait_1').hide(); $('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
</script>

Это HTML-код, который вызывает php-страницу

<select name="vmake" id="vmake">

  <option value="" selected="selected">Make</option>

  <?php getTierOne(); ?>

</select> 

<span id="wait_0">
</span>
<span id="result_1"></span>

Это php-скрипт для getTierOne, который вызывает мою базу данных

function getTierOne(){$result = mysql_query("SELECT DISTINCT vmake FROM vmake") 
or die(mysql_error());

  while($tier = mysql_fetch_array( $result )) 

    {
       echo '<option value="'.$tier['vmake'].'">'.$tier['vmake'].'</option>';
    }}

И, наконец, это остальная часть php

 if($_GET['func'] == "vmake" && isset($_GET['func']))
 {vmake($_GET['drop_var']); 
}
function vmake($drop_var)
{  
include_once('db.php');
    $result = mysql_query("SELECT * FROM vmake WHERE vmake='$drop_var'") 
    or die(mysql_error());

    echo '<select name="vmodel" id="vmodel" style="width:242">
          <option style="width:242" value=" " selected="selected">Model</option>';

           while($drop_2 = mysql_fetch_array( $result )) 
            {
              echo '<option style="width:242" value="'.$drop_2['vmodel'].'">'.$drop_2['vmodel'].'</option>';
            }

    echo '</select> ';}

Я не уверен, что янеобходимо изменить, чтобы окно vmodel отображалось при загрузке страницы.Спасибо за любые предложения, извините за длинный вопрос.

1 Ответ

0 голосов
/ 13 июня 2012
     A dropdown inside another dropdown? Is that posible?

    <select name="vmake" id="vmake">

        <option value="" selected="selected">Make</option>

           <?php getTierOne(); ?> //this function will output   

          "<select name="vmake" id="vmake">
          <option value="" selected="selected">Make</option>
         </select>"

     </select> 
...