如何在jQuery中设置SetVariable

时间:2010-09-26 17:52:45

标签: jquery jsp jquery-plugins flash

我有一个百分比仪表板控件板小部件实现为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>

2 个答案:

答案 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"的所有元素的数组,这是一个单元素数组,但仍然是一个数组。您必须访问其第一个元素以调用在该元素上专门定义的函数。