jquery我用append方法添加一列,列中包含一个onclick事件,onclick无效。代码如下
var mflFileCount = 0;
function AddFile(id, itemid) {
var obj = $("#" + itemid)[0];
var fileName = obj.value;
var li_id = "div_upload'" + (mflFileCount + 1);
var upload_id = "mflFileUpload" + (mflFileCount + 1);
var newFileLoadTmp = "<div id='" + li_id + "'><input type='file' name='" + upload_id + "' id='" + upload_id + "' onchange='AddFile('" + li_id + "','" + upload_id + "')' /> " +
"</div>"
mflFileCount += 1;
$("#div_upload").append(newFileLoadTmp);
}
var mflFileCount = 0;
function AddFile(id, itemid) {
var obj = $("#" + itemid)[0];
var fileName = obj.value;
var li_id = "div_upload'" + (mflFileCount + 1);
var upload_id = "mflFileUpload" + (mflFileCount + 1);
var newFileLoadTmp = "<div id='" + li_id + "'><input type='file' name='" + upload_id + "' id='" + upload_id + "' onchange='AddFile('" + li_id + "','" + upload_id + "')' /> " +
"</div>"
mflFileCount += 1;
$("#div_upload").append(newFileLoadTmp);
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Demo2.aspx.cs" Inherits="Demo2" %><%@ Register Src="Header.ascx" TagName="Header" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
var mflFileCount = 0;
//添加元素
function AddFile(id, itemid) {
var obj = $("#" + itemid)[0];
var fileName = obj.value;
if ($.trim(fileName) == "") {
//用户没有选择文件<img src="images/ac_02.jpg" />
return;
}
var type = fileName.substring(fileName.lastIndexOf("."));
type = type.toLowerCase();
var sFileName = fileName.substring(fileName.lastIndexOf("\\"));
var li_id = "div_upload'" + (mflFileCount + 1);
var upload_id = "mflFileUpload" + (mflFileCount + 1);
var newFileLoadTmp = "<div id='" + li_id + "'> " +
"<img alt=\"\" src=\"images/delete.gif\" onclick=\"mflRemoveFile('" + li_id + "','" + upload_id + "')\" /></div>"
if ($.trim(type) == "" || $.trim(sFileName) == "") {
//用户没有选择文件
return;
}
mflFileCount += 1;
document.getElementById("div_upload").innerHTML += newFileLoadTmp;
}
//删除函数
function mflRemoveFile(id, obj) {
alert();
$("#" + id).remove();
mflFileCount -= 1;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:Header ID="Header1" runat="server" />
</div>
<div id="DivUpload">
<div id="div_upload">
<asp:FileUpload onchange="AddFile('li_upload','mflFileUpload')" ID="mflFileUpload"
CssClass="mflFileUploadCss" runat="server" /><img alt="" src="images/delete.gif"
onclick="mflRemoveFile('div_upload','mflFileUpload')" />
</div>
</div>
<asp:Button ID="btnUp" runat="server" Text="批量上传" OnClick="btnUp_Click" />
</form>
</body>
</html>
改为$("#div_upload").append(newFileLoadTmp);