我有一个百分比仪表板控件板小部件实现为SWF电影。我在我的JSP中使用jQuery来实现一些AJAX更新功能。现在,我只是尝试使用下面的代码中的SetVariable()函数设置显示在仪表上的值。这不能通过仪表的创建者(我没有源代码)的设计作为初始flashvar来完成。
问题是IE和FireFox都抱怨SetVariable不是受支持的函数。
有人能提出更好的方法来实现这个目标吗?
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert your title</title>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/jquery.swfobject.1-1-1.js"></script>
<script type="text/javascript">
var pct_gauge = $.flash.create ({
swf: 'flash/percentgauge.swf',
width: 200,
height: 200,
wmode: 'transparent',
play: true,
flashvars: {
title: 'Percent Contracts Valid'
}
});
$(document).ready(function() {
$('#pct_gauge').html(pct_gauge);
// $('pctgauge').SetVariable("pValue", 75); ???????
});
</script>
</head>
<body>
<div id="pct_gauge"></div>
</body>
</html>
答案 0 :(得分:2)
根据http://jquery.thewikies.com/swfobject/examples,我认为你应该这样做
$('#pctgauge').flash(
function() {
this.SetVariable("pValue", 75);
}
);
答案 1 :(得分:1)
$('#pctgauge')[0].SetVariable("pValue", 75);
可能。
关键是,jQuery对象(这是从调用$()
返回的最常见的东西)是数组。
$("a")
返回所有<a>
个元素的数组。 $('#pctgauge')
返回一个ID为"pctgauge"
的所有元素的数组,这是一个单元素数组,但仍然是一个数组。您必须访问其第一个元素以调用在该元素上专门定义的函数。