我有两个属性我想分配给同一个事件:
ddlBuyer.Attributes.Add("onclick", "$('#tbxProdAC').val('');");
ddlBuyer.Attributes.Add("onclick", "$('#txtbxHowMany').val('');");
如果我评论一个,另一个工作正常。但是,如果我只留下两条线,那么只有一条线被击中。
有人可以向我解释这背后的逻辑,并进一步向我解释,我应该如何嵌套这样,以便当ddlBuyer执行onclick事件时,txtbxHowMany& tbxProdAC返回''>
的值答案 0 :(得分:1)
您只能添加具有给定名称的单个属性,因此您要添加的第二个属性将替换第一个属性。它相当于在HTML标记中包含两个“onclick”属性。不行。
但这并不意味着您无法触发多个函数来响应给定事件。例如,你可以做
ddlBuyer.onclick = function() {
//first thing to do
//second thing to do
};
另一种方法是使用jQuery库; jQuery的“bind”命令可以将多个函数绑定到单个事件。这样做的好处是,您不必担心会覆盖其他地方添加的事件绑定(上面的示例将会这样做)。
答案 1 :(得分:0)
尝试:
//分割线条以便于阅读。
ddlBuyer.Attributes.Add("onclick", "function(){
$('#tbxProdAC').val('');
$('txtbxHowMany').val('');
};");
击> <击> 撞击>
或者:
ddlBuyer.Attributes.Add("onclick",
"$('#tbxProdAC').val('');
$('txtbxHowMany').val('');");
答案 2 :(得分:0)
不是将onclick函数硬编码到标记中,而是在服务器端生成客户端代码,以便在客户端绑定onclick事件。可能会使用像jQuery这样的框架来执行此操作。