Attributes.Add - 独立工作,而不是一起工作

时间:2009-11-30 16:44:43

标签: javascript

我有两个属性我想分配给同一个事件:

ddlBuyer.Attributes.Add("onclick", "$('#tbxProdAC').val('');");

ddlBuyer.Attributes.Add("onclick", "$('#txtbxHowMany').val('');");

如果我评论一个,另一个工作正常。但是,如果我只留下两条线,那么只有一条线被击中。

有人可以向我解释这背后的逻辑,并进一步向我解释,我应该如何嵌套这样,以便当ddlBuyer执行onclick事件时,txtbxHowMany& tbxProdAC返回''>

的值

3 个答案:

答案 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这样的框架来执行此操作。