You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JS/jQuery中使用checkbox实现$0与$100两个数值的切换

如何在JS/jQuery中使用checkbox在两个数值之间切换?

需求说明

  • checkbox未勾选时始终显示$0,勾选时始终显示$100
  • 不使用display:none切换div的方案,要求使用str.replace方法实现
  • 现有代码仅支持从$0替换为$100的单向切换,需要调整为双向切换

现有代码

JS代码

function myFunction() {
  let str = document.getElementById("demo").innerHTML; 
  
  document.getElementById("demo").innerHTML = str.replace("$0", "$100");
}

HTML代码

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript String</h2>

<p>replace() 方法用于在字符串中查找指定值或正则表达式匹配项,并返回替换指定值后的新字符串。</p>

<p id="demo">$0</p>

<input type="checkbox" onclick="myFunction()" value="Try It">

</body>
</html>

解决方案

只需要在函数中获取checkbox的勾选状态,根据状态决定替换方向即可,修改后代码如下:

修改后的JS代码

function myFunction(checkbox) {
  const demoElement = document.getElementById("demo");
  const originText = demoElement.innerHTML;
  // 勾选时把$0替换为$100,未勾选时把$100替换为$0
  if (checkbox.checked) {
    demoElement.innerHTML = originText.replace("$0", "$100");
  } else {
    demoElement.innerHTML = originText.replace("$100", "$0");
  }
}

修改后的HTML checkbox部分

<input type="checkbox" onclick="myFunction(this)" value="Try It">

该方案严格遵循要求的replace方法实现逻辑,双向切换稳定无问题。

内容的提问来源于stack exchange,提问作者user10598595

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 21:36:03