2016-04-01 6 views
-2

Я новичок в PHP, я хотел бы создать страницу PHP, которая включает в себя команду combobox и кнопку отправки. Выделение позволяет выбрать значение месяца, янв., Февраль ... и так далее. По умолчанию значение для PHP равно: $value="Jan", если я выберу combobox с Jan до Mar, значение на PHP должно измениться на $value="Mar". Итак, как я могу достичь такой функциональности?Как изменить значение на PHP?

+0

Попробуйте ввести код. Синтаксис можно искать в Google. Получите последнее значение из выбранных значений. –

ответ

1

Используйте следующий код.

<?php 
if(isset($_POST['submit'])){ 

echo $mont = $_POST['month']; 

} 
?> 
<form method="post" action=""> 
    <select name='month'> 
     <?php 
     $monts = array('jan', 'fab','march','april', 'may', 'june', 'july','aug', 'sep', 'oct', 'nov', 'dec'); 
     foreach ($monts as $value) {?> 
      <option value="<?php echo $value?>" <?php if($mont == $value) { echo 'selected="selected"';}?>><?php echo $value; ?></option><?php } 
     ?> 
    </select> 
<input type="submit" value="submit" name='submit'></input> 
</form> 
0

Когда вы выберете несколько значений из выпадающего списка и отправьте форму, в PHP вы получите массив выбранных значений. Таким образом, вы можете получить последнее значение только из этого массива.

$combo = $_POST['combo'];// array(0=>"Jan", 1=>"Feb",2=>"Mar"); 
$value = $combo[count($combo)-1]; //Mar 
+1

Я думаю, что это должно быть 'count - 1' right? Потому что он начинается с 0 :) – Refilon

+0

@Refilon: Да, правильно .. Спасибо Мужчина :) –

0

DEMO

common.php

<?php 
$ArrayList = array(1=>'Ford',2=>'Chevy'); 

$ArraySubList[1] = array(1=>'Focus',2=>'Explorer'); 
$ArraySubList[2] = array(1=>'Cavalier',2=>'Impala', 3=>'Malibu'); 
?> 

index.php

<script type="text/javascript"> 
function GetXmlHttpObject() 
{ 
    if (window.XMLHttpRequest) 
    { 
     return new XMLHttpRequest(); 
    } 
    if (window.ActiveXObject) 
    { 
     return new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return null; 
} 

function ajax_function(url, postData, id) 
{ 
    xmlhttp=GetXmlHttpObject(); 
    xmlhttp.open("POST", url, true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.setRequestHeader("Content-length", postData.length); 
    xmlhttp.setRequestHeader("Connection", "close"); 
    xmlhttp.onreadystatechange=function() 
    { 
     if(xmlhttp.readyState==4) 
     { 
      document.getElementById(id).innerHTML=xmlhttp.responseText;        
     }  
    }     
     xmlhttp.send(postData); 
} 

function dispSecond(Id) 
{ 
    var params = 'Id=' + Id ; 
    var DivId = 'dispDiv'; 
    ajax_function('ajax_display.php', params, DivId); 
} 

</script> 

<?php 
require_once('common.php'); 
?> 

<select id="drop_first" name="drop_first" onchange="return dispSecond(this.value);"> 
<option value="0">[Select]</option> 
<?php 
foreach ($ArrayList as $k=>$v) 
{ 
echo '<option value="'.$k.'">'.$v.'</option>'; 
} 
?> 
</select> 

<div id="dispDiv"></div> 

ajax_display.php

<?php 
require_once('common.php'); 

$Id  = isset($_REQUEST['Id']) ? $_REQUEST['Id'] : ''; 
if ($Id) 
{ 
$SubArray = $ArraySubList[$Id]; 
?> 
    <select id="drop_second" name="drop_second"> 
    <option value="0">[Select]</option> 
    <?php 
    foreach ($SubArray as $k=>$v) 
    { 
    echo '<option value="'.$k.'">'.$v.'</option>'; 
    } 
    ?> 
    </select> 
<?php 
} 
?> 

Примечание: common.php, изменять значения массива или извлечь из MySQL