当前位置: 首页 > 知识库问答 >
问题:

单击时重置单个值

岳志义
2023-03-14

我有一个表格,有两个选项。 用户可以选择填写选项a,添加选项B。 最后计算所有填充输入的总和。 我使用show hide函数来显示选项B的字段。

如果可能的话,我试图实现的是当用户选择两个选项,填充它们并获得结果时,如果他们选择变回选项a,则删除选项b的值并自动更新计算。

null

$("#option-b").click(function() {
  $(".va3, .va4").show();
});
$("#option-a").click(function() {
  $(".va3, .va4").hide();
});

calculate = function() {
  var optiona1, optiona2, optiona3, optiona4, resultss;
  optiona1 = Number(document.getElementById("a1").value);
  optiona2 = Number(document.getElementById("a2").value);
  optiona3 = Number(document.getElementById("a3").value);
  optiona4 = Number(document.getElementById("a4").value);
  if (a3 == null || a3 == "", a4 == null || a4 == "") {
    resultss = parseInt(optiona1) + parseInt(optiona2);
  } else {
    resultss = parseInt(optiona1) + parseInt(optiona2) + parseInt(optiona3) + parseInt(optiona4);
  }
  document.getElementById('a5').value = resultss;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="option-a" onclick="document.getElementById('a3, a4').value = '0'">option a</button>
<button id="option-b">option b</button><br>
<label>Option a price 1:</label><input id="a1" type="text" /><br>
<label>Option a price 2:</label><input id="a2" type="text" /><br>
<label class="va3" style="display: none">Option b price 1:<input id="a3" type="text" /></label><br>
<label class="va4" style="display: none">Option b price 2:<input id="a4" type="text"  /></label><br>
<label>Result:</label><input id="a5" type="text" onfocus="calculate()" name="total_amt" />

null

共有1个答案

詹甫
2023-03-14

我建议将选项-a选项-b保留为复选框或单选按钮。

如果两个都可以选择,则选择复选框[或]如果一次只能选择1,则选择单选按钮。

并添加一个用于计算的按钮。 点击按钮进行计算。

<label for="option-a">Option A</label> 
<input id="option-a" type="checkbox" name="option" value="a" />
<label for="option-b">Option B</label>
<input id="option-b" type="checkbox" name="option" value="b" />

<label class="va1" style="display: none">Option a price 1:<input id="a1" type="text" /></label><br>
<label class="va2" style="display: none">Option a price 2:<input id="a2" type="text"/></label><br>
<label class="va3" style="display: none">Option b price 1:<input id="a3" type="text" /></label><br>
<label class="va4" style="display: none">Option b price 2:<input id="a4" type="text"  /></label><br>
<button onclick="calculate()">
Calculate
</button>
<label>Result:</label><input id="a5" type="text" name="total_amt" />

然后实现一个“change”侦听器,它执行以下操作。

$('input[name="option"]').on('change', function(e){
 const isChecked = $(e.target).is(":checked");
 const optionValue = $(e.target).val();
 if(optionValue == "a" && isChecked){
  $(".va1, .va2").show();
  $("#a1")[0].value = ""
  $("#a2")[0].value = ""
 }else if(optionValue == "b" && isChecked){
  $(".va3, .va4").show();
  $("#a3")[0].value = ""
  $("#a4")[0].value = ""
 } else if(optionValue == "a" && !isChecked){
  $(".va1, .va2").hide();
  $("#a1")[0].value = "";
  $("#a2")[0].value = ""
 } else if(optionValue == "b" && !isChecked){
  $(".va3, .va4").hide();
  $("#a3")[0].value = ""
  $("#a4")[0].value = ""
 }
});

这是工作的小提琴环节

http://jsfiddle.net/je8v94kw/

 类似资料:
  • 我的天气应用程序上有一个底部导航视图,其中包含3个面板(今天,每小时 以下是问题的说明: 我希望无论单击那些导航视图,数据都保持不变。 我试过使用https://stackoverflow.com/a/60201555/16020235建议但它失败了,只有一个例外: 我发现很难实现他的代码,关于这个问题的其余建议都是用kotlin编写的。 拜托我该怎么解决这件事? 以下是我的代码: my_nav.

  • 问题内容: 现在,我有一个div,它基本上是一个巨大的正方形,在div内,我还有另一个div,它是简单的文本,上面写着“ Upload File”,同时还有一个隐藏的input type = file元素。当用户按下div时,我要触发文件上传元素。到目前为止,我想出的代码是: 因此,我在CSS中将文件输入元素设置为。一旦他们在div id =“ test”中的任意位置单击,我想触发对文件上传元素的

  • 我有这样的标记 和像这样的JS 所以在这里,我希望当我点击课程时,只有课程内容会显示出来,就像这样,当我点击配置文件和库时,只有配置文件和库会显示出来。在这里,它的工作很好,但我想知道如何添加一个类活动时,一个项目被点击在锚标记。假设我点击了lessons,那么一个活动类应该被添加到lessons锚标记中,当我点击了profile,那么活动类应该被从lessons锚标记中移除,它应该在profil

  • 问题内容: 单击时,我必须调整tableView的一行的大小。我该怎么做?有人可以帮助我吗? 我的视图控制器类: 问题答案: 首先,您必须跟踪属性中当前选定单元格的indexPath: 它应该是可选的,因为您不能选择任何单元格。接下来让我们声明选定状态和未选定状态的高度(将值更改为所需的值): 现在您必须实现: 现在,在您的方法中,您必须检查是否选中了选定行或未选定行: 该和电话是给你一个动画的高

  • 我在xhtml页面中有一个bean类和一个selectBooleanCheckbox。我希望在点击框时,应该在支持bean中设置值。 以下是代码: Bean类: 但是getter和setter仅在页面加载时调用。如何在单击复选框时在bean方法中设置值。

  • 我有一个带有页眉和页脚的主JSP页面,而页面的内容位于另一个JSP页面中。我想点击菜单项并通过加载链接页面 我做什么: 这是index.jsp: 如果我点击第二个链接,我想包括page.jsp,只包含网页的中心部分的代码

  • 问题内容: 众所周知,我是一名完全的Java新手。我已经尝试过对此进行研究(通过阅读StackOverflow上的其他文章,谷歌搜索,并问一个不太喜欢Java新手的朋友),但我不知道。答案可能是明确而容易的,但我对此视而不见。我正在尝试从其他框架中放置A。 我的应用程序应该按以下方式工作: 按下框架X时有一个按钮:产生框架Y 框架Y有一个按钮,当按下时:产生框架Z 按下框架Z时有一个按钮:在放置框

  • 问题内容: 我试图单击菜单链接,但没有任何运气。它总是显示 异常- 线程“主” org.openqa.selenium.WebDriverException中的异常:未知 错误:元素在点(64,64)处不可单击。其他元素将 获得点击: 我有以下片段 这就是快照的样子 我正在使用以下代码来实现相同目的- 我确实检查了接受点击的DOM中的标签。但是我看到 了 具有一个附加属性,即 ; 使用以下配置: