2017-02-02 85 views
0

我試圖用源代碼中可見的代碼使用javascript和數組。兩個依賴下拉菜單php數組

我想能夠用php數組創建它,或者使用AJAX並將它存儲在另一個文件中。我不知道如何製作正確的PHP命令或陣列

var cars= new Array(); 

cars["OTHER"] = new Array("Heavy Machinery","Semi-Truck","Pickup Truck","Sedan","SUV","Misc"); 
cars["ATV"] = new Array("small","large"); 
cars["Boat"] = new Array("Under 20 Feet","Over 20 Feet"); 
cars["Motorcycle"] = new Array("250CC","500CC","700CC","900+"); 
cars["RV"] = new Array("Under 25 Feet","Over 25 Feet","5th Wheel"); 
cars["AC"] = new Array("Cobra"); 
cars["Acura"] = new Array("1.6 EL","1.7 EL","2.3 CL","2.5 TL","3.0 CL","3.2 TL","3.5 RL","CL","CSX","EL","ILX","Integra","Legend","MDX","NSX","NSX-T","RDX","RL","RSX","SLX","TL","TSX","Vigor","ZDX"); 
cars["Alfa Romeo"] = new Array("145","146","147","155","156","159","164","166","33","75","308","1900","2600","4C","6C","8C","Alfasud","Alfetta","Berlina","Bimotore","Canguro","Corsa","Disco Volante","Duetto","G1","GT","GTV","GTV-6","GTV6","Giulia","Guiletta","GP","Grand Prix","GTA","Iguana","Junior Z","Milano","Montreal","Navajo","P1","P2","P3","Quadrifoglio","RL","RM","Scarabeo","Spider","Sports Car","Sportwagon","Stradle","Tipo","Torpedo"); 
........................ALL OTHER MAKES AND MODELS ARE IN BETWEEN........................ 
cars["Yugo"] = new Array("55","Cabrio","GV"); 

jQuery(document).ready(function($){ 

$('span.text select').change(function(){ 
$(this).siblings('.value').text($(this).find('option[value="'+$(this).val()+'"]').text()); 
}); 

for (make in cars) 
{ 
$('#formmake').append('<option value="'+make+'">'+make+'</option>'); 
} 

$('#formmake').change(function(){ 
var val = $(this).val(); 
$('#formmodel').html('<option value="">Select Model</option>'); 
for (i in cars[val]) 
{ 
$('#formmodel').append('<option value="'+cars[val][i]+'">'+cars[val][i]+'</option>'); 
} 
$('#formmodel').append('<option value="Other">- Other -</option>'); 
}); 

$('#formmake, span.text select').each(function(){ 
var def = $(this).siblings('.value').text(); 
$(this).find('option[value='+def+']').attr('selected', 'selected'); 
$(this).change(); 
}); 



}); 

----------------------這就是我想要做的隱藏站點上的源代碼-------------------- 這裏是我的PHP獲取MAKE,但我如何創建模型數組,以便當用戶選擇汽車合適的車型將在相應的下拉列表填充(稱爲選擇型號:)

<?php 
    $car_make = array('ATV','Boat','Motorcycle','Acura','Alfa Romeo','AM    General'); //this is only a partial array, it will have all the makes 

    echo '<select name="car_make">'; 
    for($i = 0; $i < count($car_make);$i++) 
    { 
     echo '<option value="'. ($i + 1) . '">' . $car_make[$i] . '</option>'; 
    } 
    echo '</select>'; 

?> 

如何創建與車型的第二陣列將使用第一個數組的期權價值,以查找一個化妝,然後拉相應的模型數組的make?

+0

將它可以使用關聯數組,然後爲每個make/model組合創建一個單獨的關聯數組?或者應該創建一個簡單的MySQL數據庫與製造商和型號,並從數據庫中將他們拉入表格 – sim555

回答

0

那麼你可以使用jQuery來選擇第一選擇菜單的值,然後用它與化妝的具體數值進行比較,然後顯示其具體型號

var model=new Array(); 
 
function getmodel() { 
 
var make=$('select[name=make]').val(); 
 
if(make==='toyota'){$("select[name=model]").html('');$("select[name=model]").append("<option value='corolla'>Corolla</option><option value='camry'>Camry</option><option value='hilux'>Hilux</option>");} 
 

 
if(make==='honda'){$("select[name=model]").html('');$("select[name=model]").append("<option value='civic'>Civic</option><option value='jazz'>Jazz</option><option value='accord'>Accord</option>");} 
 

 
if(make==='suzuki'){$("select[name=model]").html('');$("select[name=model]").append("<option value='cultus'>Cultus</option><option value='vitara'>Vitara</option>");} 
 

 
if(make==='bugatti'){$("select[name=model]").html('');$("select[name=model]").append("<option value='veyron'>Veyron</option><option value='chiron'>Chiron</option>");} 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
SELECT MAKE: 
 
<select name='make' onchange='getmodel();'> 
 
<option value='toyota'>TOYOTA</option> 
 
<option value='honda'>HONDA</option> 
 
<option value='suzuki'>SUZUKI</option> 
 
<option value='bugatti'>BUGATTI</option> 
 
</select> 
 
<br/> 
 
SELECT MODEL 
 
<select name='model'> 
 

 
</select>

+0

感謝您的回覆 – sim555

+0

多一個問題。這個表單在源代碼中仍然可見。我想通過使用php和$ _POST通過將數組放在這些之外來隱藏源代碼。我知道如何製作單個數組,但是兩個相關數組是我編寫代碼時遇到的問題。 – sim555

+0

這個函數是由JQuery運行的,你不能隱藏JQuery。您可以使用JQuery $ .post()來調用這些,然後使用JQuery和JavaScript顯示。但據我所知,JQuery和Javascript是可見的。 你可以在[here](http://www.w3schools.com/jquery/jquery_ajax_get_post.asp)查看JQuery ajax, –