求出CheckboxList中 被勾選的值
在裡面加上下列語法, 即可求出
Dim SelectedValue As String = ""
For Each item As ListItem In Checkboxlist的ID名稱.Items
If item.Selected Then
SelectedValue &= item.Value & "," 'item.Value存值, item.Text存字樣
End If
Next
但是實務上會發現, 有時候在按下按鈕後, SelectedIndexChanged事件還沒觸發, 導致抓不到值
一時之間找不到SelectedIndexChanged事件觸發的順序點, 我的方法是直接自定一個SUB, 裡面放上述語法
在需要的時後直接呼叫它, 也可以順利取到值.
'自訂程式 CKblist_Payment 抓值
Sub getSelectedPayment()
Dim SelectedValue As String = ""
For Each item As ListItem In Ckblist_Payment.Items 'Ckblist_Payment是控制名稱
If item.Selected Then
SelectedValue &= item.Value & "," 'item.Value存值, item.Text存字樣
End If
Next
Me.Hidden_Payment.Value = SelectedValue
End Sub
'按下按鈕後 重抓一次CKblist_Payment中 被勾選的值
call getSelectedPayment()
'執行修改資料程式
call UpdateData()
另外, 如果是要用JAVASCRIPT判斷, CheckBoxList有沒有值被勾選的話, 則
1. 利用checkboxlist.ClientID取出checkboxlist的物件
2. 利用雙層迴圈的方式, 取出每個選項的第一個CELL(核取方塊)是否有被勾選, 如果有, 就取出第二個CELL(選項字樣)並做加工
在JavaScript中語法如下
str += "var paymentValue = '';"
str += "var i = 0;"
str += "var j = 0;"
str += "var checkboxlist = document.getElementById('" & Me.CheckBoxList控制項.ClientID & "');"
str += "for(i=0;i<checkboxlist.rows.length;i++)"
str += "{"
str += "for(j=0;j<checkboxlist.rows[i].cells.length;j++)"
str += "{"
str += "if(checkboxlist.rows[i].cells[j].childNodes[0].checked==true)"
str += "{"
str += "paymentValue= paymentValue + checkboxlist.rows[i].cells[j].childNodes[1].innerText+',';"
str += "}"
str += "}"
str += "}"
str += "if(paymentValue=='')"
str += "{"
str += "alert('請勾選!');"
str += "checkboxlist.rows[0].cells[0].focus();"
str += "return false;"
str+= "}"
下一篇:順頌商祺