2009-09-05 44 views
4

使用以下代碼爲CheckBoxList設置onchange事件不起作用。如何將Onchange事件附加到CheckBoxList?缺少InputAttributes?

chkListUserGroup.Attributes.Add("onchange", "document.forms[0].isRecordModified.value='true';"); 

如何爲CheckBoxList設置onchange事件?

+0

您是否收到任何錯誤?呈現的HTML看起來像什麼? – 2009-09-05 09:09:44

+0

Yeap,只要你給出它,我們無法找到準確的答案。 – Tarik 2009-09-05 09:13:28

+0

onchange事件附加到標籤元素不要輸入標籤本身。 – Ahmed 2009-09-05 09:28:04

回答

6

使用onclick事件,

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      CheckBoxList1.Items.Add("A"); 
      CheckBoxList1.Items.Add("B"); 
      CheckBoxList1.Items.Add("C"); 
      CheckBoxList1.Items.Add("D"); 

      foreach (ListItem item in CheckBoxList1.Items) 
      { 
       item.Attributes.Add("onclick", "document.forms[0].isRecordModified.value=document.activeElement.checked");  
      } 
     } 
    } 
+0

這是我設法爲複選框列表捕獲事件的唯一方法 – 2009-12-03 20:17:34

0

那麼實際上它應該是工作。因爲我在我的代碼中寫了一些東西,它工作。看來你需要檢查你的JavaScript代碼,只需用alert('hello')來改變它。

foreach (ListItem item in CheckBoxList1.Items) 
{ 
    item.Attributes.Add("onchange", "alert('hello')"); 
} 

這是我簡單的代碼,它工作。

+0

它適用於CheckBox。 – Ahmed 2009-09-05 09:24:32

+0

@Aaron:我剛剛刪除了我的答案,因爲你是完全正確的。不知道onchange事件會自動傳播給子元素。 – 2009-09-05 09:28:31

+0

如何爲CheckBoxList中的項目設置它。 onchange事件附加到標籤元素,不要輸入標籤本身。 – Ahmed 2009-09-05 09:32:01

1

使用此代碼來處理點擊複選框列表中的事件在vb.net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     If Not IsPostBack Then 
      Dim li As ListItem 
      For Each li In CheckboxList1.Items 
       li.Attributes.Add("onclick", "alert('hello')") 
      Next 
     End If 
相關問題