【问题标题】:Capture updated text from h tag after change in input field [closed]在输入字段更改后从 h 标签捕获更新的文本 [关闭]
【发布时间】:2018-07-05 11:48:03
【问题描述】:

我是 Javascript 的新手。所以如果我问了什么愚蠢的问题,请原谅我。我有一个示例 Shiny 应用程序Statistics Dashboard,可用于查找任何度量的一些基本统计度量,例如平均值、中位数等。用户必须上传一个 csv 文件,仪表板根据该文件选择文件中的所有数字变量,并提供一个选项来选择要分析的任何数字变量作为下拉列表。我想在应用程序中添加一个 javascript 代码,该代码将在用户从下拉列表中选择特定维度后捕获更新的度量(例如平均值)。例如,假设下拉窗口中默认选择的维度是“销售”,对应的平均值是 325。如果我选​​择另一个维度(假设)“利润”,则平均值变为 37。现在我想添加一个 javascript/jquery当我从下拉列表中选择“利润”(来自“销售”)时,该代码将捕获 37 的平均值。我尝试了 .change 事件来检查下拉选择中的变化,当有变化时,捕获 h3 标记内的平均值。但是,我得到的是以前的平均值而不是更新的平均值,即当我选择“利润”(来自“销售额”)时,我得到的是 325 而不是 37。希望我对此很清楚。

我是否使用了错误的事件?在发生特定操作并更新值后,如何捕获任何内容?

如果您需要有关我的查询的更多详细信息,请随时告诉我。期待社区的帮助。

【问题讨论】:

标签: javascript jquery r events shiny


【解决方案1】:

我认为这正是您要寻找的东西

这是一个检测特定元素的任何变化的代码。

HTML:

<input type="text" id="Profit"></input>
<h3 id="MeanLabel">100</h3>

Javascript/Jquery:

$(document).ready(function() {

    $("#Profit").on("change", function()
    {
        $("#MeanLabel").text(this.value);

    });

    initialValue = $("#MeanLabel").text();
    CheckChanges();
})


function CheckChanges()
{

    if($("#MeanLabel").text() != initialValue)
    {
        //The Label Changes!
        initialValue = $("#MeanLabel").text();
        alert("New Label is: " + initialValue) 

    }
    setTimeout(CheckChanges, 200)
}

这是工作示例。

https://jsfiddle.net/h68nxu4h/

【讨论】:

  • 这正是我想要的。非常感谢布莱恩。
猜你喜欢
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 2015-10-21
相关资源
最近更新 更多