2012-06-06 93 views
2

比方說,我有一大堆的複選框上輸入最初像這樣的網頁上:集複選框,基於陣列的選中狀態值

<input type="checkbox" name="vehicle" value="Car" /> Car<br /> 
<input type="checkbox" name="vehicle" value="Bike" /> Bike<br /> 
<input type="checkbox" name="vehicle" value="Motorcycle" /> Motorcycle<br /> 
<input type="checkbox" name="vehicle" value="Bus" /> Bus<br /> 
<input type="checkbox" name="vehicle" value="Car" /> Train<br /> 

現在,讓我們說,我有一個這樣的數組:

$my_array = array(
    'first' => 'Bike', 
    'second' => 'Car', 
    'third' => 'Train' 
); 

正如你所看到的,我的數組包含的值與我的複選框的值相對應。

現在,我如何根據我的數組值設置每個複選框輸入的狀態,並使複選框保持檢查,甚至在頁面刷新使用PHP?換句話說,我想在我的頁面上顯示所有的複選框,但只有那些值與我數組中值相匹配的複選框應該在頁面上進行檢查。這可能只是直接PHP或我需要JavaScript的呢?

有什麼想法嗎?我已經試過幾乎所有的東西,但沒有成功

回答

6

當然,你可以用PHP做到這一點...

<input type="checkbox" name="vehicle" value="Car" <?php if(in_array('Car', $my_array)) echo('selected = "selected"'); ?>/> Car<br /> 

沖洗和重複你所有的複選框。

但是,如果您還保存了一個包含所有可能選項的數組,它將會更加智能。然後,您可以遍歷該數組並檢查該數組中的每個條目,以查看它是否也存在於「selected」數組中。