2014-02-20 54 views
0
<input name="q1[]" type="checkbox" value="a1">Used e-mail 
<input name="q1[]" type="checkbox" value="a2">Used instant messenger & chat room 
<input name="q1[]" type="checkbox" value="a3">Made a purchase for personal use 
<input name="q1[]" type="checkbox" value="a4">Downloaded/Played a video game 
<input name="q1[]" type="checkbox" value="a5">Obtained news/information 
<input name="q1[]" type="checkbox" value="a6">Looked for employment 

在提交時我用如何從mySQL檢查編輯頁面的正確複選框?

$q1=implode(',', $_POST['q1']); 

,然後將其保存到一個MySQL數據庫像A1,A3,A5

我現在的問題是,我有一個編輯頁面,在那裏我知道如何使用文本框顯示來自數據庫的值。我不知道如何檢查正確的複選框。

我知道使用爆炸並從保存的值創建一個數組是很好的。我知道有一個PHP方法,但我發現這個代碼的下拉菜單,它有助於不會有每個複選框的PHP if語句。

<script type='text/javascript'> 
     window.onload = function(){ 
      document.getElementsByName("year")[0].value="2008"; // change the value to the open obtained from database 
     } 
     </script> 

我該如何做這個複選框?非常感謝您

回答

0

你可以用for循環interate您的複選框,並從數據庫中與indexOf檢查,如果該輸入值存在數組中:

window.onload = function(){  
    var dbdata = "a1,a3,a4"; //this should come from db 
    dbdata = dbdata.split(","); 
    for(i = 0; i<document.getElementsByName("q1[]").length;i++) 
    { 
     obj = document.getElementsByName("q1[]"); 
     if(dbdata.indexOf(obj[i].value) > -1) 
     obj[i].checked=true; 
    } 
} 

工作示例這裏:JSFiddle