将值从代码隐藏传递到Javascript
我正在使用jQueryUI ProgressBar向用户显示他们使用了多少允许的文件存储空间。 百分比在代码隐藏中计算,应传递给Javascript。
Aspx代码
$(function () { var pct = document.getElementById("filesPercentage").value; $("#progressbar").progressbar({ value: pct }); }); ... ...
代码背后
protected void Page_Load(object sender, EventArgs e) { filesPercentage.Value = "85"; }
好像它无法从隐藏字段中获取百分比数字。 任何帮助,将不胜感激。
因为您的隐藏字段是服务器控件,所以ID可能会生成除filesPercentage
其他filesPercentage
(可能类似于ctl00_ctl00_filesPercentage
)
- 您可能需要将生成的客户端ID应用于您的javascript
document.getElementById("<%=filesPercentage.ClientID%>").value;
- 或者使用另一种选择隐藏值的方法,例如
$('[hidden's parent element] input[type="hidden"]').val()
另外,看起来进度条值期望一个数字,所以你可能需要做value: pct * 1
或value: parseInt(pct)
您需要获取隐藏输入的渲染ID
var pct = document.getElementById("<%=filesPercentage.ClientID%>").value;
从你在服务器上运行输入的那一刻起,最好使用asp:HiddenField
而不是input
试试这个
var pct = document.getElementById("<%=filesPercentage.ClientID %>").value;
.net将修改您为控件提供的ID以确保它是唯一的,因此您不会使用正确的ID访问它。 如果为隐藏字段指定唯一的类名,则可以通过以下方式访问该值:
var pct = $('.hiddenClass').val();
这有点清洁恕我直言:-)
$("#progressbar").progressbar({ value: $("#<%=filesPercentage.ClientID%>").val() });