使用jquery从多个文本框中获取最大值

e4eetjau  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(248)

我有很多文本框,每个文本框都有一些价值。我想从所有文本框中获取最大值。我不知道我应该应用哪个jquery。请看下面我的尝试:

$(document).ready(function(){
  $("p").click(function(){
    $('input[name="result"]').val(Math.max('input[name^="tt"]'));
  });
});

//it should give 76.4
<input name='tt1' value='12.2'><br>
<input name='tt1' value='33.2'><br>
<input name='tt1' value='24.2'><br>
<input name='tt1' value='76.4'><br>
<input name='tt1' value='34.3'><br><br>
<input name='result'>

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

cgvd09ve1#

$("button").click(function() {
  var allValues = $('input[name^="tt"]').map(function() { return +this.value; }).toArray();
  var maxValue = Math.max.apply(Math, allValues);
  $('input[name="result"]').val(maxValue);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input name='tt1' value='12.2'><br>
<input name='tt1' value='33.2'><br>
<input name='tt1' value='24.2'><br>
<input name='tt1' value='76.4'><br>
<input name='tt1' value='34.3'><br><br>
<input name='result'><button>Click</button>

笔记 +'12.2'
12.2 X.y.apply(Y, [1, 2, 3])X.y(1, 2, 3) (见附件)

8e2ybdfx

8e2ybdfx2#

您可以通过迭代来完成:

let items = $('input[name^="tt"]');
let max;
for (let item of items) {
    let currentItem = parseFloat(item.value);
    if ((max === undefined) || (max < currentItem)) max = currentItem;
}

相关问题