为什么这个标题图形不随世界更新

2024-05-01

对于以下内容,我很高兴组合框默认为世界 - 但当收音机被点击时,我也希望标题移回“世界” - 我该怎么做?

我有这个笨蛋:http://plnkr.co/edit/9FXJXVqLZLPFdDrmVJez?p=preview http://plnkr.co/edit/9FXJXVqLZLPFdDrmVJez?p=preview

代码如下:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  <title>comboBoxWithRadios</title>
  <script src="https://d3js.org/d3.v3.js"></script>
  <style type="text/css">
    #projection-menu {
      position: absolute;
      left: 15px;
      top: 45px;
    }

    #comboSelection {
      position: absolute;
      left: 15px;
      top: 95px;
    }
  </style>
</head>

<body>
  <div id="radioDiv">
    <label>
      <input type="radio" name="dataset" id="dataset" value="XXX"> XXX</label>
    <label>
      <input type="radio" name="dataset" id="dataset" value="YYY" checked> YYY</label>
    <label>
      <input type="radio" name="dataset" id="dataset" value="ZZZ">ZZZ</label>
  </div>

  <div id="comboSelection"></div>

  <select id="projection-menu"></select>
  <script type="text/javascript">
    d3.select("input[value=\"YYY\"]").property("checked", true);
    var exampleCSV = "comboBoxWithRadios.csv"


    selectDataset();

    d3.selectAll("input")
      .on("change", selectDataset);

    function selectDataset() {

      var v = this.value;
      if (undefined == v) {
        v = "YYY"
      }

      d3.csv(exampleCSV, function(rows) {
        dta = rows.filter(function(row) {
          if (row['Category'] == v) {
            return true;
          }
        });

        //clear out the combobox
        removeOptions(document.getElementById("projection-menu"));

        var menu = d3.select("#projection-menu")
          .on("change", addProdTitl);
        console.log(d3.map(dta, function(d) {
          return d.country;
        }))
        menu.selectAll("option")
          .data(d3.map(dta, function(d) {
            return d.country;
          }).keys())
          .enter()
          .append("option")
          .property("selected", function(d) {
            return d === "world";
          })
          .text(function(d) {
            return d;
          });
      });
    };


    function removeOptions(selectbox) {
      var i;
      for (i = selectbox.options.length - 1; i >= 0; i--) {
        selectbox.remove(i);
      }
    }




    function addProdTitl() {

      var combSel = this.value;
      // console.log(width)

      if (d3.select("#prodTitle").empty()) {
        var svg = d3.select("#comboSelection")
          .append("svg")
          .attr({
            "width": "100%",
            "height": "70px",
            id: "prodTitle"
          });
      } else {
        var svg = d3.select("#prodTitle");
        svg.selectAll("*").remove();
      }

      var svgG = svg
        .append("g")
        .attr({
          "transform": "translate(" + 25 + "," + 5 + ")",
          "width": "700px",
          "height": 100,
          id: "svgGxxx"
        });

      svgG
        .append("rect")
        .attr({
          "transform": "translate(5,15)",
          x: 30,
          y: 0,
          "width": "675",
          "height": "3",
          "fill": "#00a5b6"
        })
        .transition()
        .duration(1400)
        .attr({
          "transform": "translate(5,20)"
        });

      svgG
        .append("text")
        .text(combSel)
        .attr({
          "x": 60,
          "y": 10,
          "fill": "#00a5b6"
        })
        .transition()
        .duration(1400)
        .attr({
          "y": 15
        });

    };
  </script>
</body>

</html>

我的解决方案是将参数传递给函数addProdTitl:

var menu = d3.select("#projection-menu")
    .on("change", function(){
        var thisvalue = this.value;
        addProdTitl(thisvalue);
    });

因此,我们可以将函数重写为:

function addProdTitl(thisvalue) {
    var combSel = thisvalue;
    //the rest of the function.

这样,每次更换收音机时,只需执行以下操作:

if (!d3.select("#prodTitle").empty()){
    addProdTitl("world");
}

这是笨蛋:http://plnkr.co/edit/VvjHHp6KZrypwc9ApSPN?p=preview http://plnkr.co/edit/VvjHHp6KZrypwc9ApSPN?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个标题图形不随世界更新 的相关文章

  • ReferenceError:找不到变量:需要

    我在加载时遇到问题node modules到我的网页之一 我已经安装了 npm node js 并且我想使用require 函数在我的网站上初始化 Firebase 我不知道为什么 但它抛出引用错误 ReferenceError 找不到变量
  • 无法显示由 Fine-uploader 上传到 Amazon s3 的图像

    我现在尝试设置fineuploader s3以显示在aws服务器上成功上传的文件的图像 如示例页面上所做的那样 http fineuploader com s3 demo http fineuploader com s3 demo 我 仍然
  • HTMLImageElement 作为 React Child 无效

    我正在尝试异步加载图像 并且仅在加载图像后才将其显示在 React 应用程序中 componentDidMount const img new Image img onload gt this setState originalImage
  • 是否可以禁用特定 jQuery Ajax 调用的 Turbolinks 以防止页面刷新和滚动?

    我有一个 Rails 5 应用程序 非常想使用 Turbolinks 在应用程序中 有几个 PATCH ajax 调用 它们只是用新数据更新服务器 但不需要担心更新页面的状态 每当这些 ajax 请求返回时 Turbolinks 就会刷新页
  • 使用 Javascript 在 Imacros 中循环

    我如何使用 javascript 循环 imm imacros 脚本 我搜索了一下 发现了这个 for i 0 i lt n i iimPlay marconame iim 但当我使用它时 我的浏览器 Firefox 18 挂起 for i
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • 将一个文本框的内容复制到另一个文本框

    假设在文本框中输入了一个条目 是否可以在第二个文本框中保留相同的输入文本 如果是这样 这是如何完成的
  • 未捕获的引用错误:myFunction 未定义[重复]

    这个问题在这里已经有答案了 这到底是怎么回事 http jsfiddle net sVT54 http jsfiddle net sVT54
  • 将音频与视频流合并 Node.js

    我正在创建 YouTube 视频下载器并且正在使用ytdl core库 它无法下载带有音频的高质量视频 因为 youtube 将其放在另一个文件中 但我需要将其全部下载到一个文件中 我已经这样做了 app get download asyn
  • 何时不使用承诺[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在阅读了数十篇关于 es6 Promise 有多伟大以及为什么我们应该实现它们的文章之后 我有这样的感觉 ALL我的 不平凡的 JavaScri
  • 在 MVC Razor 中的 C# 和 Javascript 之间共享常量

    我想在服务器上的 C 和客户端上的 Javascript 中都使用字符串常量 我将常量封装在 C 类中 namespace MyModel public static class Constants public const string
  • 如何改变HTML5视频的播放速度?

    如何更改 HTML5 中的视频播放速度 我查过视频标签的属性 https www w3schools com html html5 video asp在 w3school 但无法做到这一点 根据这个网站 http www chipwreck
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • 用数组反向查找对象

    假设我有一个这样的对象 resourceMap a 0 1 2 3 4 5 6 7 8 9 10 b 11 12 c 21 23 d 54 55 56 57 510 确定是否的最佳方法是什么resourceId 21将会 c 我们不知道钥匙
  • 访问 TypeScript 数组的最后一个元素

    TypeScript 中有访问数组最后一个元素的符号吗 在 Ruby 中我可以说 array 1 有类似的东西吗 您可以通过索引访问数组元素 数组中最后一个元素的索引将是数组的长度 1 因为索引是从零开始的 这应该有效 var items
  • 如何滚动到div内的元素?

    我有一个滚动的div我想在点击它时发生一个事件 它会强制执行此操作div滚动以查看内部元素 我写的JavasCript是这样的 document getElementById chr scrollIntoView true 但这会在滚动时滚
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • React无限滚动scrollableTarget动态获取id?

    我在我的项目中使用react infinite scroll component 如何让scrollableTarget动态获取item id 我试过这样scrollableTarget item id 但它不起作用 必须与该 div 具有
  • 如何在 e2e AngularJS 测试中进行文件上传?

    在我的一种观点中 我有一个文件上传控件 它支持通过拖放或单击按钮后打开的标准文件对话框上传文件 How to do this in my e2e tests1 1 Just one of the two options will be en
  • 需要js、d3 和 nvd3 集成

    我面临整合的问题要求 questions tagged requirejs with d3 questions tagged d3 and nvd3 questions tagged nvd3 我找到了一个使用 require 的简单解决方

随机推荐

  • 是否可以将 Firebase 与 Windows 8 应用结合使用?

    我希望在使用 WinJS 制作的 Windows 8 应用程序中使用 Firebase 以下是我尝试写入 Firebase 根目录的方式 var dataRef new Firebase https
  • Python 中 iter 函数的第二个参数是什么?

    让我们考虑一个文件 echo e This is a foo bar sentence nAnd this is the first txtfile in the corpus gt test txt cat test txt This i
  • jQuery 中如何查找具有特定 id 的 div 是否存在?

    我有一个附加一个函数 div 到单击时的元素 该函数获取单击元素的文本并将其分配给名为的变量name 然后将该变量用作 div id附加元素的 我需要看看是否 div id with name在我追加元素之前已经存在 但我不知道如何找到它
  • STL容器如何复制对象?

    我知道 STL 容器 比如vector添加对象时复制该对象 push back方法如下 void push back const T x 我很惊讶地发现它把该项目作为参考 我编写了一个示例程序来看看它是如何工作的 struct Foo Fo
  • 将多嵌套 dict/json 加载到 pandas 中

    我正在尝试加载一个非常令人困惑的多重嵌套JSON变成熊猫 我已经在使用了json 规范化 http pandas pydata org pandas docs stable reference api pandas io json json
  • 如何为 ActionBar 的 ActionMode 背景设置动画?

    背景 可以更改操作栏的背景 甚至可以在两种颜色之间设置动画 如下所示 public static void animateBetweenColors final ActionBar actionBar final int colorFrom
  • Intellij IDEA 无法使用 Play 框架解析符号

    我正在使用 IDEA 13 和 Play 2 2 1 并且正在做示例游玩地点 http www playframework com documentation 2 2 x JavaTodoList public static Result
  • Lua :: 如何编写加载多个CPU的简单程序?

    我还无法用 Lua 编写一个可以加载多个 CPU 的程序 自从Lua通过协程支持这个概念 http www lua org pil 9 4 html 我相信这是可以实现的 我失败的原因可能是以下之一 这在Lua中是不可能的 我写不出来 an
  • Android 为多个活动存储 Socket.io 对象

    我正在制作我的第一个基于 Socket io 的 Android 应用程序 套接字从 Web 服务发送和接收数据 应用程序中有许多屏幕用于不同的功能 我如何在这些不同的活动中使用相同的套接字连接 我尝试在 Application 类中设置和
  • 常量正确性和硬件写入

    假设我有以下成员函数 void CFoo regWrite int addr int data reg write addr data driver call to e g write a firmware register 显然 调用此函
  • 附加到 group_vars 中的 Ansible 字典而不使用 hash_behaviour = merge

    我想定义一个字典变量 各个主机组可以将自己的密钥添加到其中在group vars中 不使用set fact 例如 像这样的东西 group vars ftp servers yml important ports ftp 21 group
  • 不可编辑的文本字段

    我是新来的YII 我想知道文本字段是否YII可以设为不可编辑 如果是的话有人可以回答吗 我按照下面的方法 这是行不通的 Use readonly instead http www w3 org TR html401 interact for
  • Python脚本仅在Docker中产生僵尸进程

    我有相当复杂的设置 Luigi https github com spotify luigi https github com spotify luigi https github com kennethreitz requests htm
  • 如何从 ViewController 中的 NSOutlineView 捕获 doubleClick 事件?

    我正在尝试从 NSOutlineView 捕获 doubleClick 事件并将其传递给 ViewController 我的想法是捕获 doubleClick 事件并从 OutlineView 中获取所选行 到目前为止我所做的是子类化 NS
  • 如何使用 CSS 在 HTML H2 之前添加数字?

    我正在努力创造一个好看的H2HTML 和 CSS 中的标题将允许我在实际标题文本之前有一个格式良好的数字 如下图所示 图像中的示例使用如下所示的 CSS 代码 效果很好 只是我无法在 HTML 中设置橙色圆圈中的数字值 h2 before
  • ActiveX 组件无法创建对象

    我收到错误 ActiveX 组件无法创建对象 实际上 我有业务逻辑所在的 VB6 DLL 并且我在 VB NET 应用程序中调用该 DLL 函数 所有 DLL 都依赖于其他 DLL 我从其中一个 DLL 中收到错误 有任何想法吗 通常该错误
  • Eclipse RCP View 在应用程序启动时不显示

    我现在面临这个问题大约一个小时 我不知道我做错了什么 您看到我的plugin xml 代码中的错误了吗
  • (不再寻求答案)消息框内的Python输入框

    有什么方法可以在使用 ctypes 库打开的消息框内输入框吗 到目前为止我有 import ctypes messageBox ctypes windll user32 MessageBoxA title Title text Messag
  • Java方法关键字“final”及其使用

    当我创建复杂类型层次结构 多个级别 每个级别几种类型 时 我喜欢使用final实现某些接口声明的方法上的关键字 一个例子 interface Garble int zork interface Gnarf extends Garble Th
  • 为什么这个标题图形不随世界更新

    对于以下内容 我很高兴组合框默认为世界 但当收音机被点击时 我也希望标题移回 世界 我该怎么做 我有这个笨蛋 http plnkr co edit 9FXJXVqLZLPFdDrmVJez p preview http plnkr co e