Javascript.RU

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

Выбрать элементы где значение атрибута меньше или больше заданного
Можно ли без цикла выбрать все элементы, где значение больше/меньше заданного.

Например, нам надо выбрать из всех чекбоксов представленных в форме те, у которых в атрибуте value значение больше 10.
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2011, 21:55
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Куды ж тут без цикла?! А чем такой вариант не устраивает?
<input type=checkbox value="1" /><br />
<input type=checkbox value="5" /><br />
<input type=checkbox value="10" /><br />
<input type=checkbox value="20" /><br />
<input type=checkbox value="30" />

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
  $("input").each(function() { (this.value > 10) ? alert(this.value) : '' });
});
</script>

Последний раз редактировалось Триви, 02.10.2011 в 21:58.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2011, 09:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от Триви
Куды ж тут без цикла?
Если те значения известны наперёд - можно и без цикла...

<input type=checkbox value="1" /><br />
<input type=checkbox value="5" /><br />
<input type=checkbox value="10" /><br />
<input type=checkbox value="20" /><br />
<input type=checkbox value="30" />

<script type="text/javascript">
$(function() {
  $(":checkbox").val([20,30]);
});
</script>


Или под "выбрать чекбоксы" подразумевается что-то другое?
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2011, 13:33
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

Можно создать например свой селектор для jQuery, например вот так
<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
</head>
<body>
	<p><input type="checkbox" name="check" id="id_check_1"/><label for="id_check_1">Checkbox 1, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_2"/><label for="id_check_2">Checkbox 2, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_3"/><label for="id_check_3">Checkbox 3, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_4"/><label for="id_check_4">Checkbox 4, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_5"/><label for="id_check_5">Checkbox 5, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_6"/><label for="id_check_6">Checkbox 6, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_7"/><label for="id_check_7">Checkbox 7, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_8"/><label for="id_check_8">Checkbox 8, value equal </label></p>
	<p><input type="checkbox" name="check" id="id_check_9"/><label for="id_check_9">Checkbox 9, value equal </label></p>
	<script>
		function randomNumber ( min, max ) {
			return Math.floor(Math.random() * (max - min + 1) + min);
		};
		
		$('input[name="check"]').each(function(){ this.value = randomNumber(-100, 100); this.nextSibling.appendChild( document.createTextNode(this.value) ); })
		
		//Создаем свои фильтры для jQuery
		jQuery.extend(jQuery.expr[':'], {
			"valueFrom" : function( element, i, match, elements ){
				var value = parseFloat($(element).val()),
					minMaxValues = match[3].split(/\s?,\s?/);
					minValue = parseFloat(minMaxValues[0]),
					maxValue = parseFloat(minMaxValues[1]);
				return !jQuery.isNaN(value) && !jQuery.isNaN(minValue) && !jQuery.isNaN(maxValue) && value <= maxValue && value >= minValue;
			}
		});
		
		alert( $('input[name="check"]:valueFrom(15,75)').map(function(){return this.value;}).get() );
		
	</script>
</body>
</html>

Последний раз редактировалось nikita.mmf, 03.10.2011 в 13:39.
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2011, 13:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от nikita.mmf
например вот так
Нууу. Это явно "многа букаф"...
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2011, 14:23
Аспирант
Отправить личное сообщение для bayrach Посмотреть профиль Найти все сообщения от bayrach
 
Регистрация: 16.01.2011
Сообщений: 71

nikita.mmf решил пушкой по воробьям стрелять
Ответить с цитированием
Ответ



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

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