我在我的网络应用程序中使用jQuery。有两个字段我想使用jQuery从代码后面传递一个数组值。
我将此代码用于图表:
var chart2={
label:names['c2'],
type:$('select[@name=c2type]').val(),
color:$('select[@name=c2color]').val(),
values:getTableCol('c2'),
stackedOn:names[$('select[@name=c2stack]').val()]};
在values:getTableCol('c2')
中,我需要从页面后面的代码传递数组值。现在,它从表列中获取其值,但我不需要该表。在这里,我想在运行时传递形式{12,45,45,50,55}
的值。这是多变的。
如何传递此值?
答案 0 :(得分:1)
您可以序列化为JSON并放入页面 - JSON是合法的JavaScript。
代码隐藏:
using System.Web.Script.Serialization;
protected string JsonArray
{
get {
var myArray = new int[] { 1, 2, 3 };
return new JavaScriptSerializer().Serialize(myArray);
}
}
的.aspx:
var chart2 = {
values: <%= JsonArray %>
};
答案 1 :(得分:1)
我在Page_PreRender中使用以下内容:
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "DeclareMyArray", @"var myArray = ['hello', 'world'];", true);
然后你应该能够做到以下几点:
var chart2={
label:names['c2'],
type:$('select[@name=c2type]').val(),
color:$('select[@name=c2color]').val(),
values:myArray,
stackedOn:names[$('select[@name=c2stack]').val()]};
答案 2 :(得分:0)
您可以使用HtmlInputHidden控件将值渲染到页面上的隐藏字段中。如果您为该字段提供可以从jQuery引用的ID,您将能够访问它。
答案 3 :(得分:0)
// selects both table header and table data cells from the third column of #mytable
$('#mytable th:nth-col(3), #mytable td:nth-col(3)');
// same as above but using the nthCol extension function
$('#mytable th, #mytable td).nthCol(3);
复制