我正在开发一个应用程序,它提供了从jqGrid下载文件的功能。
jqGrid有几列和一列,它们将显示每行的下载按钮。 用户必须单击它,然后开始下载。 对于这个下载按钮我用过 jsp中的html输入标记如下,
<input type="button" id="download" height="30px" width="100px" value="Download">
在我的jqgrid代码中,我正在尝试克隆此按钮,如下所示。
{
name:'click to download',
index:'click to download',
width:50,
formatter: function(cellvalue, options, rowObject){
var button = $("#download").clone(true);
button.addClass(".button");
$("body").on("click",".button",function(){
alert("hello");
});
return button[0].outerHTML;
},
sortable: false
}
我想在click事件上单独为这个克隆按钮编写一个函数,并将参数传递给该函数,如rowId和cellvalue。
任何人请帮助我,我已尝试在此事件按钮上创建功能,但他们没有被调用。之后我尝试手动创建按钮而不是克隆,但点击功能仍然没有被调用。 非常感谢任何帮助。
答案 0 :(得分:2)
你应该使用jquery&#34; on&#34;因为&#34; on&#34;一直看着dom中的click事件,简单的点击不能识别你刚刚克隆的元素
syntaxe:
$( "body" ).on( "click", ".your_element", function() {
// your code here
});
注意:使用类而不是ID。
答案 1 :(得分:1)
在您的代码中,尝试更改此内容:
button.addClass(".button");
到此(删除前缀期间):
button.addClass("button");