2012年4月18日 星期三

資料庫比對checkbox是否打勾

後台編輯頁面時用的方法..因為是比對字串..若有類似的字串時..不知道會不會發生誤判..

較安全做法大概還是得把值改成123456...再另外去轉成要的字串值可能可以更精確的比對出結果..

前台html


<input name="Application" id="Application1" type="checkbox" value="車位" />車位
<input name="Application" id="Application2" type="checkbox" value="雅房" />雅房
<input name="Application" id="Application3" type="checkbox" value="套房" />套房
<asp:Literal ID="Literal2" runat="server"></asp:Literal>

為了撈資料方便 直接把JS寫到.VB中...再呼叫出來用

.VB的部分程式碼


Literal2.Text = "<script language='javascript'>" & vbCrLf
Literal2.Text &= "var array ='" & oReader("Application") & "';" & vbCrLf
Literal2.Text &= "for (var i=1;i<=16;i++){" & vbCrLf
Literal2.Text &= "  if(array.indexOf(document.getElementById('Application'+i).value) > -1){" & vbCrLf
Literal2.Text &= "      document.getElementById('Application'+i).checked=true" & vbCrLf
Literal2.Text &= "  }" & vbCrLf
Literal2.Text &= "}" & vbCrLf
Literal2.Text &= "</script>" & vbCrLf

oReader("Application")是撈出資料表的資料再定義字串去比對

因為是checkbox..所以只要資料中有的就是要打勾的了 

所以直接用array.indexOf(document.getElementById('Application'+i).value) > -1 去判斷位置 

只要有資料一定是大於-1



2012年4月16日 星期一