Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2016, 00:46
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Как получить максимальное значение и присвоить аттрибут?
Здравствуйте!
в цикле выводятся текстовые поля, где поле value у них число, например
value=100
value=150
value=110

как найти максимольное из них и присвоить атрибут id?
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2016, 00:59
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

alert(Math.max.apply(null, [100,150,110]));
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2016, 01:07
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Это как получить максимальное число в массиве. Мы заранее не знаем числа.
Как его потом найти среди одинаковых инпутов? и присвоить атрибут?
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2016, 01:15
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

есть:
<div>
<input type="text"  value=200>
<input type="text"  value=100>
</div>


хотелось бы:
<div>
<input type="text"  value=200 id="id">
<input type="text"  value=100>
</div>
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2016, 01:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

repz,
циклом по инпутам и запоминать индекс если текущий value больше "'эталонного"
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2016, 01:23
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

<input type="text" value="100">
<input type="text" value="150">
<input type="text" value="110">

<script>
var max = 100;

for (var i = 0; i < document.querySelectorAll("input").length; i++) {
  var numb = Number(document.querySelectorAll("input")[i].value);

  if (numb > max) {
    max = numb;
   alert(max);
  }
  var selector = 'input[value="'+max+'"]';

}

document.querySelector(selector).id = "someid";
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2016, 01:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

repz,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    #abracadabra  {
      background-color: #00FF00;
    }

  </style>

</head>

<body>
<div>
<input type="text"  value=200>
<input type="text"  value=100>
<input type="text"  value=500>
<input type="text"  value=100>
</div>
<script>
window.addEventListener("DOMContentLoaded", function() {
    var a = document.querySelectorAll("div input");
    [].reduce.call(a, function(a, b) {
        return 0 <= a.value - b.value ? a : b
    }, a[0]).id = "abracadabra"
});
</script>
</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2016, 21:23
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Спасибо, большое все получилось.
Но на практике , как всегда, не все так просто, в некоторых случаях инпутов мб больше и они в разных дивах.
Решил указанием класса дива вот тут:
var a = document.querySelectorAll(".option input");

И присвоением класса диву, вот тут:
<div class="option" >
	<input type="text"  value=200>
	<input type="text"  value=100>
	<input type="text"  value=500>
	<input type="text"  value=100>
</div>

Проблема:
Мб такая ситуация
<div class="option" >
	<input type="text"  value=400>
	<input type="text"  value=340>
	<input type="text"  value=0>
	<input type="text"  value=560>
</div>
<div class="option" >
	<input type="text"  value=200>
	<input type="text"  value=100>
	<input type="text"  value=500>
	<input type="text"  value=100>
</div>

т.е. два одинаков дива с инпутами, максимум от рони выберет только в последнем, как можно выбрать максимальное значение в обоих дивах, но только одно на двоих? т.е. 560

Спасибо.
Ответить с цитированием
  #9 (permalink)  
Старый 16.03.2016, 22:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от repz
максимум от рони выберет только в последнем

Сообщение от repz
т.е. 560
что не так?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    #abracadabra  {
      background-color: #00FF00;
    }

  </style>

</head>

<body>
<div class="option" >
	<input type="text"  value=400>
	<input type="text"  value=340>
	<input type="text"  value=0>
	<input type="text"  value=560>
</div>
<div class="option" >
	<input type="text"  value=200>
	<input type="text"  value=100>
	<input type="text"  value=500>
	<input type="text"  value=100>
</div>

<script>
window.addEventListener("DOMContentLoaded", function() {
    var a = document.querySelectorAll(".option input");
    [].reduce.call(a, function(a, b) {
        return 0 <= a.value - b.value ? a : b
    }, a[0]).id = "abracadabra"
});
</script>
</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 16.03.2016, 22:42
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

рони, простите за бестактность, я был не прав(
пытаюсь адаптировать под rel
<input type="text"  value=100 rel=100>

никак не могу получить его вместо value(
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить старое значение свойства из scope-а FanAizu Angular.js 1 08.09.2015 18:46
Как получить значение цвета из color picker razorg1991 jQuery 1 06.10.2014 09:06
Как получить значение переменной из игры на HTML5? Dimaz Общие вопросы Javascript 6 10.08.2014 16:27
Как получить значение от вызываемой функции? Dimaz Общие вопросы Javascript 6 08.12.2012 20:42
Как получить значение атрибута width в теге img, находящемся в скрытом диве? kolyan1983 Internet Explorer 4 21.03.2011 15:14