[英]Retrieve cell value of dynamically created table in ASP.NET
我通過javascript向動態創建的表添加行,我想在回發時獲取其值。
這是表格:
<table id="summ" width="350px" border="1" >
用於添加行的Javascript代碼段:
$('#summ > tbody:last').append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup + '</td><td>' + qty + '</td><td><input type="text"></td></tr>');
單擊按鈕后,如何獲取附加到表格的單元格的值? “summ”無法識別,因為如果我在表標記上放置runat=server
,則Javascript不起作用。
服務器不知道你在使用DOM。 您可以使用HiddenFields發回值:
var sup = "test";
var qty = 123;
$('#summ > tbody:last').append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup + '</td><td>' + qty + '</td><td><input type="text"></td></tr>');
$('#HiddenField_sup').val(sup);
$('#HiddenField_qty').val(qty);
在服務器上:
Response.Write(HiddenField_qty.Value);
Response.Write(HiddenField_sup.Value);
您可以在代碼后面定義AJAX(WebMethod)方法(添加System.Web.Services的引用)並使用$ .ajax或$ .post來請求它。 看看我發布的代碼片段供您參考。
Sample.aspx(代碼內聯)
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Services" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
[WebMethod]
public static string SendData(string sup,string qty)
{
return "OK : " + sup + " " + qty;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sample Page</title>
<script src="../script/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var sup1 = 10;
var qty1 = 20;
$("#btn1").click(function () {
var arg = '{sup: ' + sup1 + ',qty:' + qty1 + '}';
$.ajax({
type: "POST",
url: "Sample.aspx/SendData",
data: arg,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (msg) {
alert(msg.d);
},
error: function (msg) {
alert("Error: " + msg);
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" id="btn1" value="Save" />
</div>
</form>
</body>
</html>
如果要使用“runat”屬性,則在其中添加一個空並編寫ClientID屬性。
<table runat="server" id="summ" width="350px" border="1" >
<tbody>
<tr></tr>
</tbody>
</table>
jQuery代碼
$("#<%=summ.ClientID%> > tbody:last").append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup1 + '</td><td>' + qty1 + '</td><td><input type="text"></td></tr>');
要么
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.