javascript - 如何获取按钮单击事件的输入的当前值

标签 javascript jquery attr closest

我有一堆具有相同功能的 div,我正在尝试为它们编写一个函数。

基本上,它们有一个预定值和一个用户输入值,并且这些值需要相乘。

我浏览了很多其他问题并 this是我能找到的最接近的一个。几乎完全正确,但这些答案都不起作用。

任何帮助都会很棒。提前致谢!

<div>
   <label>enter value for multiple here</label>
   <input type="text" class="multiple" factor="foo1"/>
   <button type="button" class="multiplyBtn">Click here to multiply these numbers</button>

   <label>enter value for multiple here</label>
   <input type="text" class="multiple" factor="foo2"/>
   <button type="button" class="multiplyBtn">Click here to multiply these numbers</button>
</div>

这是 JS:

$('.mulitplyBtn').click(function() {
   var factor = $(this).closest('attr.factor').val();
   var multiple = $(this)closest('.multiple').val();
   answer = (factor * multiple);
};

最佳答案

这会起作用:

$('.multiplyBtn').click(function() { // you had multiplyBtn spelled wrong here
  var cur = $('.multiplyBtn').index($(this)); // get index of clicked btn
  var factor = $('.multiple').eq(cur).data('factor'); // get factor from matching input
  var multiple = $('.multiple').eq(cur).val(); // get value from matching input
  answer = (Number(factor) * Number(multiple)); // make sure both are numbers then multiply
  alert(answer);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <label>enter value for multiple here</label>
  <input type="text" class="multiple" data-factor="4" />
  <button type="button" class="multiplyBtn">Click here to multiply these numbers</button>
  <br>

  <label>enter value for multiple here</label>
  <input type="text" class="multiple" data-factor="7" />
  <button type="button" class="multiplyBtn">Click here to multiply these numbers</button>
</div>

关于javascript - 如何获取按钮单击事件的输入的当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372966/

相关文章:

jquery - 如何使用 jQuery .Ajax 和 Codeigniter 3 重新加载部分 View

javascript - JQuery 签名不适用于 IE <= 9

jquery - 使用 jQuery 更改背景颜色

R:如何从属性设置嵌套列表中的名称

Jquery onclick 不适用于 IE7

python - 属性错误 : 'list' object has no attribute 'rfind' in using cx_freeze

javascript - 在 Google Chart API 中显示小数

javascript - 如何在 Javascript 中将类对象的名称作为字符串获取?

javascript - Internet Explorer 9 中的 HTML5 Image.onload 竞争条件

javascript - 无法通过 fetch 方法访问 HTMLCollection Item