首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于选择的显示字段(JS)

基于选择的显示字段(JS)
EN

Stack Overflow用户
提问于 2021-06-18 03:36:22
回答 2查看 57关注 0票数 0

我试图根据菜单选择选项中选择的内容来显示字段。

我尝试了一些JS,并借助这里在Stackoverflow上找到的其他帖子,但是失败了。

我是一个粉丝,我不太了解js,我希望能在这个问题上找到帮助。感谢大家的任何回答,我留下了下面的信息。

  1. I想显示以下结果: var dayli_intake_mass = ((+
  2. )/ 100 * (+ tdee) + (+ tdee)+(+ tdee));只有在选择mass1、mass2或mass3时才能显示。

否则

  1. I要显示以下结果: var dayli_intake_def = ((+ tdee) - (+
  2. )/ 100 * (+ tdee));只有在选择def1、def2或def3时才能显示。

因此,mass1、mass2和mass3的选择应该显示dayli_intake_mass

而选择的def1、def2和def3应该显示dayli_intake_def

1点是加法,2点是减法。我不希望这两个字段都是可见的,而是基于所选内容的两个字段中的一个。

我为糟糕的英语道歉:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="fieldcontainer">
<input oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" type="number" class="mts-field" maxlength="4" id="tdee" name"tdee" placeholder="Inserisci il tuo TDEE" form="fbday" required autocomplete="off"/>
<label>Spesa calorica</label>
</div>

<div class="container_level">
  <select class="target" id="target_select" form="fbday" name="target">
    <option value="0">Stile di vita / Attività fisica</option>
    <option id="mass1" name="radsa" value="5">mass1</option>
    <option id="mass2" name="radsa" value="10">mass2</option>
    <option id="mass3" name="radsa" value="15">mass3</option>
    <option id="def1" name="radsa" value="10">def1</option>
    <option id="def2" name="radsa" value="15">def2</option>
    <option id="def3" name="radsa" value="20">def3</option>
  </select>
</div>

<!---Fabbisogno Giornaliero--->

<div id="fbbday0" class="results" hidden>
<input type="text" form="fbday" class="result-field" id="dayli_intake_mass" name="dayli_intake"
placeholder="Fabbisogno giornaliero / 0.000 Kcal" min="1" readonly/>
<label class="mts-label"></label>
</div>

<div id="fbbday1" class="results" hidden>
<input type="text" form="fbday" class="result-field" id="dayli_intake_def" name="dayli_intake"
placeholder="Fabbisogno giornaliero / 0.000 Kcal" min="1" readonly/>
<label class="mts-label"></label>
</div>

<form action="" id="fbday">
</form>

<button name="calculate" onclick="calculate()">Calculate</button>
<button id="reset" onclick="resetFields()">Reset</button>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
calculate = function()
{
    var tdee = document.getElementById('tdee').value;
    var target = document.querySelector('#target_select option:checked').value;
    
    var dayli_intake_mass = ((+target)/100*(+tdee)+(+tdee));
    var kcal = "Devi assumere "+dayli_intake_mass.toLocaleString('it-IT',{maximumFractionDigits: 0}) + " Kcal"; document.getElementById('dayli_intake_mass').value = kcal;
    
    var dayli_intake_def = ((+tdee)-(+target)/100*(+tdee));
    var kcal = "Devi assumere "+dayli_intake_def.toLocaleString('it-IT',{maximumFractionDigits: 0}) + " Kcal"; document.getElementById('dayli_intake_def').value = kcal;
    
//This is Target Radio Selection//
 var mass1 = document.getElementById('mass1').value;
 var mass2 = document.getElementById('mass2').value;
 var mass3 = document.getElementById('mass3').value;
 var def1 = document.getElementById('def1').value;
 var def2 = document.getElementById('def2').value;
 var def3 = document.getElementById('def3').value;    

//This is HideShow Result//
var conditional = document.querySelector('#target_select option:checked').value;
document.getElementById('dayli_intake_mass').hidden = conditional !== '5';
document.getElementById('dayli_intake_mass').hidden = conditional !== '10';
document.getElementById('dayli_intake_mass').hidden = conditional !== '15';
document.getElementById('dayli_intake_def').hidden = conditional !== '10';
document.getElementById('dayli_intake_def').hidden = conditional !== '15';
document.getElementById('dayli_intake_def').hidden = conditional !== '20';
}

https://jsfiddle.net/snake93/w1nLbhxv/81/

EN

回答 2

Stack Overflow用户

发布于 2021-06-18 03:49:58

编辑过的

  • 您可以使用change事件来处理这个
  • ,当您选择其中一个列表时,它将调用change事件,然后检查或执行您的代码
  • ,因为它们之间有一些类似的值,例如mass2值= 10,以及def1 value = 10。H 210H 111由于不能只比较值,还需要比较元素id,所以我在比较操作H 212F 213中添加了id。

,这是代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var target_select = document.getElementById("target_select");

target_select.addEventListener("change", function () {
  var tdee = document.getElementById('tdee').value;
  var target = document.querySelector('#target_select option:checked');
  var fbbday1 = document.getElementById('fbbday1'),
  fbbday0 = document.getElementById('fbbday0')

  var dayli_intake_mass = ((+target.value)/100*(+tdee)+(+tdee));
  var dayli_intake_def = ((+tdee)-(+target.value)/100*(+tdee));
  
    //This is Target Radio Selection//
 var mass1 = document.getElementById('mass1').value;
 var mass2 = document.getElementById('mass2').value;
 var mass3 = document.getElementById('mass3').value;
 var def1 = document.getElementById('def1').value;
 var def2 = document.getElementById('def2').value;
 var def3 = document.getElementById('def3').value;
 var massArr = [mass1, mass2, mass3],
 deffArr = [def1, def2, def3]

    if(massArr.indexOf(this.value) != -1 && target.id === 'mass1' || target.id === 'mass2' || target.id === 'mass3') {
        fbbday0.removeAttribute('hidden')
        document.getElementById('dayli_intake_mass').value = dayli_intake_mass;
    } else {
        fbbday0.setAttribute('hidden', true)
    }
    if(deffArr.indexOf(this.value) != -1 && target.id === 'def1' || target.id === 'def2' || target.id === 'def3') {
        fbbday1.removeAttribute('hidden')
        document.getElementById('dayli_intake_def').value = dayli_intake_def;
    } else {
        fbbday1.setAttribute('hidden', true)
    }
});
票数 0
EN

Stack Overflow用户

发布于 2021-06-18 06:34:27

首先,我编辑了select选项的值如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select class="target" id="target_select" form="fbday" name="target" (onChange)="showHideIntake($event)">
<option value="0">Stile di vita / Attività fisica</option>
<option id="mass1" name="radsa" value="5">mass1</option>
<option id="mass2" name="radsa" value="10">mass2</option>
<option id="mass3" name="radsa" value="15">mass3</option>
<option id="def1" name="radsa" value="-10">def1</option>
<option id="def2" name="radsa" value="-15">def2</option>
<option id="def3" name="radsa" value="-20">def3</option>
</select>

其次,我将一个名为(onChange)的事件添加到select元素中,如前一点的第一行所示。

第三,我在select元素中添加了一个select来处理(onChange)事件,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const target_select = document.querySelector('#target_select');
const dayli_intake_mass = document.querySelector('#dayli_intake_mass');
const dayli_intake_def = document.querySelector('#dayli_intake_def');
target_select.addEventListener('change', (event) => {
  console.log(+event.target.value); // just for checking selected option
  // the + (plus sign) is to convert from string to number
  dayli_intake_mass.hidden = dayli_intake_def.hidden = true;
  event.target.value > 0 ? dayli_intake_mass.hidden = false : 
  dayli_intake_def.hidden = false;
});

这样,dayli_intake_massdayli_intake_def就显示在select选项上或隐藏在select选项上。此外,您可以在选择其中一个选项时直接使用select选项的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68034467

复制
相关文章
spring boot 用js实现上传文件(包含其他字段)显示进度
1、由于我使用了框架内置对象处理二进制文件信息,所有接收过程完全被封闭在框架内置对象中,直到请求结束才返回信息提示,上传的过程进度无法访问。我使用了js,不通过form表单action跳转后台上传。
jiankang666
2022/05/12
1.9K0
图片的选择和显示
这个就是图片的选择框,在我们点击这个框的时候会给我们弹出一个文件选择,当我们选中图片的时候就把图片显示在这个框上面,如果选中的不是一个图片这个时候就需要用到一个正则表达式来进行一个判断。
PHY_68
2020/09/16
1K0
图片的选择和显示
基于VUE选择上传图片并在页面显示(图片可删除)
$(‘div#img-wrapper img’).attr(‘src’,”);
全栈程序员站长
2022/07/07
1.2K0
基于VUE选择上传图片并在页面显示(图片可删除)
显示农历的js代码
<html xmlns="http://www.w3.org/1999/xhtml"&gt; <head> <title>js 显示农历</title> <style type="text/css"> pDate { text-align: center; } </style> </head> <body> <p id="pDate"></p> </body> </html> <script type="text/javascript"> var sWeek = new Array("星期日",
用户1503405
2021/09/23
18.9K3
基于FPGA的图像显示
这几天一直在调试FPGA的图像显示系统,今天终于成功,图像不在闪烁,也不再边框缺失。
FPGA开源工作室
2019/10/29
1.8K0
基于FPGA的图像显示
MySQL和Java中的货币字段类型选择
在互联网应用中,处理货币是一项常见的任务。为了确保准确性和精度,我们需要选择适当的字段类型来存储货币数据。本文将讨论在MySQL和Java中记录货币时应选择的字段类型,并提供相应的代码示例。
疯狂的KK
2023/08/09
6920
MySQL和Java中的货币字段类型选择
小白入门,如何选择数据分片字段
分布式数据库,是近些年来非常颇受关注的领域。一方面随着数据规模不断增大,数据使用场景更为多样,对底层数据库的要求越来越高;另一方面对数据库的可用性、扩展能力等也都提出更高的要求。分布式数据库的出现,恰好满足了上述两方面的诉求。但当用户选择使用分布式的第一个问题,就是如何将之前基于单机或集中式数据库设计的数据结构迁移到分布式环境中,核心点就在于数据分片的设计。这其中的核心要点有两个:一是选择什么字段或字段组合作为分片键;二是使用什么分片算法来分片。本文尝试说明第一个问题。
用户5548425
2022/11/24
8340
小白入门,如何选择数据分片字段
phpcms怎样显示非主表字段
解决方法:如果不是主表 要加 moreinfo="1" 例: {pc:content action="lists" catid="$catid" num="10" order="id DESC" moreinfo="1"}
李维亮
2021/07/09
8910
JS显示当前时间
<div id="clock"></div> window.setInterval('showRealTime(clock)', 1000); function showRealTime(clock) { var d = new Date(); var year = d.getFullYear(); var month = d.getMonth() + 1; var date = d.getDate(); var days = new Array("日", "一",
小语雀网
2022/05/06
27.8K0
【说站】mysql字段选择是什么
mysql字段选择是什么 说明 1、根据实际需要,明确所需字段名称,用英文逗号分隔。 2、获取所有字段,使用星号*匹配所有字段。 3、字段数据不一定来自数据源(select只要有结果) 4、只要确保数据需求能够实现,字段的选择就尽量少用*代替(MySQL优化) 实例 # 全部查询 select * from t_6;   # 需求为商品名字和价格 select goods_name,goods_price from t_6;   # 别名使用 select goods_name as gn,goods_
很酷的站长
2022/11/24
6870
【说站】mysql字段选择是什么
JS 控制隐藏显示
比较简单的实现.style.display就是控制层隐藏或显示的属性. <html> <body> <script> function show(){ document.getElementById("div").style.display=""; //alert(document.getElementById("div").style.display) } function hidden(){ document.getElementById("div").style.display="none"; //a
问天丶天问
2018/06/13
20.7K0
基于FPGA的HDMI显示(二)
  本次设计采用了 IO 模拟的方式实现 HDMI 的功能。与采用专用 HDMI 芯片相比,此方案具有成本更低、效果不输于采用专用芯片的效果、经过测试,兼容性方面也要比专用芯片要好、最大输出图像分辨率 1080P、图像传输稳定等显著的优势。   具体硬件电路上面已经提到过了,这里简单分析一下。
碎碎思
2020/06/30
3.6K0
基于FPGA的HDMI显示(一)
  另一种方式是HDMI 接口设计全由 IO 模拟方式实现,如图1 23所示,HDMI 的信号线 D0~D2 其实是一个差分信号,在我们程序当中体现为 TMDS 类型,因此其输入信号为串行的数字信号,内部实际上是将输入的 RGB 信号进行编码,转换为 HDMI 数据(实际我们称其为 DVI)进行输出,因此在设计中通常可以将 RGB 信号单独引出,作为 RGB 输出,用来作为双显输出使用。
碎碎思
2020/06/30
4.2K0
js选择对象
返回页面所有xxx类名对象的数组,要想取出其中的一个对象需采用数组的标识[i], document.getElementsByClassName("xxx")[i],否则无返回结果。
zkq
2020/04/20
5.5K0
js选择对象
BeanUtils.copyProperties 选择性赋值字段
在工作中不要全部赋制数据,需要有选择性赋制字段。比如有三个字段 user1 , user2 , user3。
用户10384376
2023/02/25
1.3K0
BeanUtils.copyProperties 选择性赋值字段
在 WordPress 中如何定义字段依赖显示
WPJAM Basic 插件作为我们「WordPree果酱」团队所有插件和项目的基础,其中表单字段的渲染就是其中最重要的一个能力,我们做到了只需配置就能使用,无需额外增加页面的 JavaScript 的交互代码。
Denis
2023/04/13
8.5K0
Django admin ForeignKey 字段增加搜索选择框
当 ForeignKey 数据过多,手动在后台添加时不方便找到自己的想要数据,遂想要一个可以搜索检索数据功能。
卓越笔记
2023/02/18
1.4K0
Django admin ForeignKey 字段增加搜索选择框
点击加载更多

相似问题

基于选择列表选择的字段显示

13

JS/PHP -基于先前的选择自动填充选择字段

11

基于选择的Django模板/ChoiceField显示字段

26

基于选择jQuery/MySQL显示输入字段

24

基于用户选择的WordPress ACF显示字段

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文