如何将 onchange 事件附加到 CheckBoxList?缺少输入属性?
Posted
技术标签:
【中文标题】如何将 onchange 事件附加到 CheckBoxList?缺少输入属性?【英文标题】:How to attach onchange event to CheckBoxList? Missing InputAttributes? 【发布时间】:2010-11-25 20:26:15 【问题描述】:使用以下代码为 CheckBoxList 设置 onchange 事件不起作用。
chkListUserGroup.Attributes.Add("onchange", "document.forms[0].isRecordModified.value='true';");
如何为 CheckBoxList 设置 onchange 事件?
【问题讨论】:
您是否遇到任何错误?渲染出来的 html 是什么样子的? 是的,只要你给出,我们就找不到准确的答案。 onchange 事件被附加到标签元素而不是输入标签本身。 【参考方案1】:使用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");
【讨论】:
这是我设法捕捉复选框列表事件的唯一方法【参考方案2】:使用此代码处理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
【讨论】:
【参考方案3】:实际上它应该可以工作。因为我在我的代码中写了一些东西并且它起作用了。看来您需要通过简单地更改它来检查您的 javascript 代码 alert('hello');
foreach (ListItem item in CheckBoxList1.Items)
item.Attributes.Add("onchange", "alert('hello')");
这是我的简单代码,它正在工作。
【讨论】:
@Aaron:我刚刚删除了我的答案,因为你是绝对正确的。不知道 onchange 事件会自动传播到子元素。 如何为 CheckBoxList 中的项目设置它。 onchange 事件附加到标签元素而不是输入标签本身。 同样的问题,它影响标签而不是输入元素。这就是它的呈现方式...以上是关于如何将 onchange 事件附加到 CheckBoxList?缺少输入属性?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 DataGridViewComboBoxColumn 绑定到 OnChange 事件(C#)