0

我有一个饼图类型的东西,我需要根据单击的链接来改变它的值(请参阅下面的链接并单击按钮 70 以了解我的意思)

http://fifamatchgenerator.com/dev/piechart/examples/

这是使它工作的代码:

$('.updateEasyPieChart').on('click', function(e) {
    e.preventDefault();
    $('.percentage, .percentage-light').each(function() {
        var newValue = document.getElementById(1).innerHTML;
        $(this).data('easyPieChart').update(newValue);
        $('span', this).text(newValue);

从页面上的(1)顺序链接之一获取 ID 1:

<li><a href="#" id="1" class="button updateEasyPieChart">70</a></li>
<li><a href="#" id="2" class="button updateEasyPieChart">60</a></li>
<li><a href="#" id="3" class="button updateEasyPieChart">50</a></li>

它显然只适用于第一个链接,因为它只调用该 ID。现在这是我需要帮助的地方。如果您理解我的意思,我需要 document.get 中的该值由单击的链接的 id 定义。因此,当单击 id 为 2 的第二个链接时,我需要将其传递给document.getand update。这听起来很简单,但我的 javascript 技能根本不足以自己解决。我已经进行了大量的谷歌搜索,但似乎找不到任何有用或有效的东西。我并不是真的在找人为我做这件事,只是为我指明正确的方向!

ps饼图代码我从一个网站得到......但是改变值的代码(有点)是我和一个朋友写的。

4

3 回答 3

0

this将引用被单击的元素。

var newValue = this.innerHTML;
于 2013-01-23T01:17:50.920 回答
0

此代码对于无序列表中的任意数量的链接都是动态的。它将从内部 html 中获取数字并更新饼图。您可能不得不修补更新饼图部分,因为我还没有看到所有代码:)

这是从您的代码中复制的列表

  • 70
  • 60
  • 50
  • 这是将点击函数绑定到无序列表中的每个锚标记的代码。

            $('#myUnorderedList li a').click(function() {
    
                var newValue = $(this).html();
    
                $('.percentage, .percentage-light').each(function() {
    
                $(this).data('easyPieChart').update(newValue);
                $('span', this).text(newValue);
              });
            });
    
    于 2013-01-23T01:32:54.397 回答
    0

    不幸的是,我现在无法实际测试这个,但试试这个:

    创建一个返回点击目标的函数:

    function getTarget(e) {
        var result = null;
        if (typeof e != "undefined") {
            if (typeof e.target != "undefined") {
                result = e.target;
            }
            else if (typeof e.srcElement != "undefined") {
                result = e.srcElement;
            }
        }
        return result;
    }
    

    因为有人可能会在 IE 中运行它,所以您应该包括:

    var ie = document.all;
    

    然后像这样调用 getTarget 函数:

    selectedElement = getTarget(ie ? event : e);
    

    然后,您可以通过以下方式更改您的值:

    var newValue = selectedElement.innerHTML;
    
    于 2013-01-23T01:39:07.083 回答