通过jQuery检查进度条级别和显示的Perl代码

通过jQuery检查进度条级别和显示的Perl代码,jquery,html,perl,Jquery,Html,Perl,我有一个Perl代码,它检索30%的使用率百分比。我已经编写了HTML,它在perl中具有类progressbar和值$usage。我在jQuery中使用该类在页面中显示进度条。但它不起作用 <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.10.2.js">&l

我有一个Perl代码,它检索30%的使用率百分比。我已经编写了HTML,它在perl中具有类progressbar和值$usage。我在jQuery中使用该类在页面中显示进度条。但它不起作用

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script>

$(function() {
    $( "#progressbar" ).progressbar( "value" );
});
</script>

<div class="progressbar" value=<% $usage_percentage %></div>

<%perl>
my $usage_percentage = 30;
</%perl>

$(函数(){
美元(“#progressbar”)。progressbar(“价值”);
});

您的代码有一些地方出错。首先,使用ID选择器
$(“#progressbar”)
,但HTML中没有该ID。更改



其次,
value
不是
标记的有效属性。当将数据从Perl传递到HTML/JavaScript时,我建议使用


jQuery提供了一个用于访问
数据-*
属性的方法:

var percentUsed=$(“#progressbar”)。数据(“使用百分比”);//30
请注意,您仍然可以在HTML4中使用
data-*
属性,它们只是作为常规属性处理

第三,您正在调用一个方法来设置进度条的长度,而不是设置它。改变

$(“#progressbar”).progressbar(“值”)`

$(“#progressbar”).progressbar({value:30});
例如,将该值设置为30

总而言之:


$(函数(){
var容器=$(“#progressbar”);
container.progressbar({value:container.data(“使用百分比”)});
});

您在一个地方使用
$usage
,在另一个地方使用
$usage\u percentage
。谢谢…更正。我更正您使用的是Mason吗?如果是这样,您应该将标记添加到问题中,因为有许多不同的Perl模板解决方案使用类似的分隔符。这难道不可能吗?没有你的帮助怎么做?你是什么意思?我省略了那些部分,因为你不需要更改它们。或者你是说你不想使用jQuery?不,不是那样。我想使用jQuery。但是我不想很好地使用这两行,如果你想使用jQuery,你必须以某种方式将它加载到你的脚本中,除非你想复制粘贴整个jQuery源代码到你的脚本中(这是一个非常糟糕的主意)™), 那是你最好的选择。你为什么不想要那两行呢?