2013-04-01 4 views
0

В настоящее время у меня есть настройка в этих строках http://jsfiddle.net/4Zw3M/1/, где второй снимок заселен предыдущим выбором.Заполнение DropDown на основе предыдущего DropDown

Проблема в том, что поля заполняются базой данных. Так как PHP я бы написал раскрывающееся меню, чтобы сохранить значение после отправки.

<option <?= $foobar == $foo->slug ? 'value="'.$foo->slug.'" selected="selected"' : 'value="'.$food->slug.'"'?>><?=$foo->name?></option> 

Я не могу понять, как сохранить значение после того, как пользователь отправит форму. Также да, у меня есть $foobar = mysqli_real_escape_string($mysqli, $_POST['foobar']); в верхней части страницы, чтобы caputre значение.

Во-вторых, я пытаюсь выяснить, как добавить значение в этом формате, поскольку значение на самом деле является идентификатором имени.

|id| |name | 
|1 | |ten | 
|2 | |twenty| 

Таким образом, в обычном форматировании было бы

<option value="<?=$foo->id?>"><?=$foo->name?></option> 

В настоящее время я могу только сделать значение быть таким же, как имя.

+0

Форма обратной передачи находится на странице формы, и вы спрашиваете, как взять выбранные выпадающие данные при отправке и сохранить их обратно на страницу? –

ответ

0

Вы можете разместить текст меню выпадающего на страницу действий и захватить значение с помощью: -

$s_option = $_POST["somename"]; 

В зависимости от значения выбранного текста ($ s_option) вызывать функции JS, как это: -

function func1() 
{ 
document.forms[0].somename.selectedIndex=0; 
} 

function func2() 

{ 
document.forms[0].somename.selectedIndex=1; 
} 

и так далее ......

0

Я хотел бы сделать это в JQuery/AJAX/PHP, надеюсь, что это помогает:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#dropdown1').on('change', function(){ 
      var value = $(this).val(); 

      $.ajax({ 
       type: "post", 
       url: "path_to_your.php", 
       data: ({p : value}), 
       datatype: "json", 
       success: function(results){ 
        $.each(results, function(v) { 
         $('#dropdown2').append($('<option>', { 
          value: v, 
          text: v 
         })); 
        }); 
       } 

      }); 
     }); 

    }); 
</script> 
</head> 
<body> 
<select id="dropdown1"> 
    <option>Select One..</option> 
    <option value="something">Something</option> 
<select> 
<select id="dropdown2"> 

</select> 
</body> 
Смежные вопросы