javascript - jquery如何获取存储在另一个变量中的变量的值

标签 javascript jquery

如果选中相应的复选框,我想获取输入框的值。

在 jsfiddle https://jsfiddle.net/xpvt214o/125530/ 上试过

我可以得到变量名,但不能得到它的值。我在结束时收到“未定义”警报。

此外,我需要获取所有已检查金额的总和。我该怎么做?

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $(":checkbox").click(function(){
        //$(this).hide();
        if (this.checked) {
         var id = $(this).attr('id');
         var x = "amt_" + id;
         alert("x is " + x);
         alert($(x).val());
         }
    });

});
</script>
</head>
<body>
<form method="post" action=""  >
<input type="checkbox" name="food[]" id="345" value="inv_345">34 
   Amount <input name=amt_345 id="amt_345" value=10><br> 
<input type="checkbox" name="food[]" id="456" value="inv_456">45 
   Amount <input name=amt_456 value=20 id=amt_456><br>
<input type="checkbox" name="food[]" id="789" value="inv_789">78 
   Amount <input name=amt_789 id=amt_789 value=30><br>
<input type=submit name=submit value=submit>
</form>
Total Amt of Clicked Values is <div id="totalval"></div>
</body>
</html>

最佳答案

从你的代码...

您需要在变量中添加“#”才能使其正常工作 var x = "#amt_"+ id;
另外,我添加了全部功能。

这是所有这些的工作片段:
(我将您的 alert 修改为 console.log 因为警报让我生气!:))

$(document).ready(function() {
  $(":checkbox").click(function() {

    if (this.checked) {
      var id = $(this).attr('id');
      var x = "#amt_" + id; // You needed to add #
      console.log($(x).val());
    }

    // Added total!
    var total = 0;
    $(":checkbox:checked").each(function(index) {
      x = "#amt_" + $(this).attr('id');
      total += parseInt($(x).val());
    });
    console.log("total:", total);

  });

});
<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

<body>
  <form method="post" action="">
    <input type="checkbox" name="food[]" id="345" value="inv_345">34 Amount <input name=amt_345 id="amt_345" value=10><br>
    <input type="checkbox" name="food[]" id="456" value="inv_456">45 Amount <input name=amt_456 value=20 id=amt_456><br>
    <input type="checkbox" name="food[]" id="789" value="inv_789">78 Amount <input name=amt_789 id=amt_789 value=30><br>
    <input type=submit name=submit value=submit>
  </form>
  Total Amt of Clicked Values is
  <div id="totalval"></div>
</body>

</html>

希望对您有所帮助!

关于javascript - jquery如何获取存储在另一个变量中的变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49833935/

相关文章:

jquery - 使用 HTML5 输入类型和 jQuery

javascript - 根据条件组合/扩展两个对象

javascript - AJAX 调用顺序错误(异步)javascript

javascript - 区分控制台和浏览器的javascript

Jquery - 计算元素的高度总和

javascript - $(document).width() 包括 ie8 中的滚动条

jquery - 我可以将我的主页用于带有条件弹出 div 的 404 页面吗?

javascript - 我想重复代码但不知道如何使用循环

javascript - Indexeddb 添加新值而不是更新现有值

javascript - 根据浏览器高度动画div