我正在使用jQueryUI ProgressBar向用户显示他们已使用了多少允许的文件存储。百分比是在后台代码中计算的,应该传递给Javascript。
Aspx代码
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <script type="text/javascript"> $(function () { var pct = document.getElementById("filesPercentage").value; $("#progressbar").progressbar({ value: pct }); }); </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> ... <input type="hidden" runat="server" id="filesPercentage" /> <div id="progressbar"></div> ... </asp:Content>
背后的代码
protected void Page_Load(object sender, EventArgs e) { filesPercentage.Value = "85"; }
似乎无法从隐藏字段中获取百分比数字。任何帮助,将不胜感激。
由于您的隐藏字段是服务器控件,因此可能是ID生成的不是filesPercentage(可能类似于ctl00_ctl00_filesPercentage)
filesPercentage
ctl00_ctl00_filesPercentage
document.getElementById("<%=filesPercentage.ClientID%>").value;
$('[hidden's parent element] input[type="hidden"]').val()
此外,它看起来像进度值期待一个数字,所以你可能需要做value: pct * 1或value: parseInt(pct)
value: pct * 1
value: parseInt(pct)
http://jsfiddle.net/pxfunc/QyZSs/