Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2013, 09:16
Новичок на форуме
Отправить личное сообщение для Nevea Посмотреть профиль Найти все сообщения от Nevea
 
Регистрация: 07.09.2012
Сообщений: 7

Занесение массива в .val()
Добрый день, я новичок сразу извиняюсь за глупый вопрос, пытался найти в инете похожие примеры, но безуспешно.
есть конструкция
<select id="operation">
					<option>текст</option>
                                       <option>текст</option>
                                       <option>текст</option>
                                        <option>текст</option>
                                       <option>текст</option>
		</select>

мне нужно присвоить им разные значение value
делаю через jquery
$('#operation option').val(50);

а как присвоить им разные значения к примеру первому option value="50, второму option value="570" и т.д.
я извратился и сделал так
в html присвоил каждому option свой id
<select id="operation">
					<option id="operation1">текст</option>
					<option id="operation2">текст</option>
					<option id="operation3">текст</option>
					<option id="operation4">текст</option>
					<option id="operation5">текст</option>
					<option id="operation6">текст</option>
				</select>


и через jquery присвоил каждому option значение.

$('#operation1').val(4200);
				 $('#operation2').val(7800);
				 $('#operation3').val(10900);
				 $('#operation4').val(15700);
				 $('#operation5').val(18100);
				 $('#operation6').val(24200);

код работает, но выглядит ужасно =(
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2013, 09:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,327

Nevea, делая
$('#operation option');

Ты получаешь целую коллекцию элементов... По ним можно "пройтись" и присвоить каждому нужное значение...
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2013, 10:13
Новичок на форуме
Отправить личное сообщение для Nevea Посмотреть профиль Найти все сообщения от Nevea
 
Регистрация: 07.09.2012
Сообщений: 7

я это понимаю =)
сделал в общем через цикл:
var opereation_val = [7200,10300,14500,19400,23000,29000]
  for(var i=0;i<opereation_val.length;i++) 
           { $(operation[i]).val(opereation_val[i]);  }
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2013, 10:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А нафиг все это? Как генерируются опшны? Почему бы тутже не проставлять value?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2013, 10:20
Новичок на форуме
Отправить личное сообщение для Nevea Посмотреть профиль Найти все сообщения от Nevea
 
Регистрация: 07.09.2012
Сообщений: 7

не очень понял вашу мысль?
есть option в зависимости от условия у них разные value, вот мне их нужно заполнить значениями
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2013, 10:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Что значит "есть option". Его же кто-то как-то создал? Опшны генерятся или пишутся вручную? И какое же это условие? Оно только на клиенте определяется?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2013, 10:58
Новичок на форуме
Отправить личное сообщение для Nevea Посмотреть профиль Найти все сообщения от Nevea
 
Регистрация: 07.09.2012
Сообщений: 7

ну в общем опишу тогда всю ситуацию, есть калькулятор
в калькуляторе есть радиокнопки, в зависимости от нажатой радиокнопки нужно сгенерировать значения value для option.option написаны руками. вот полный код который сейчас.Код работает. Но я не уверен правильно ли он написан
<div class="calculator" onchange="calc()">
Тариф:<br/>
<label><input type="radio" name="radio_tariff" id="tariff1"/>ОСН</label><br/>
<label><input type="radio" name="radio_tariff" id="tariff2"/> УСН (6%)</label><br/>
<label><input type="radio" name="radio_tariff" id="tariff3"/>УСН (15%)</label><br/>

<br/>
Операции<br/>
	<select id="operation">
					<option >текст</option>
					<option >текст</option>
					<option >текст</option>
					<option >текст</option>
					<option >текст</option>
					<option>текст</option>
					
				</select>


<br/>
</div>
<span id="result">0</span>

Код расчета и вывода цены в зависимости от выбранного тарифа

$(document).ready(calc())
                function calc(){	
				 if ($('#tariff1').prop('checked')==true){
				var opereation_val = [7200,10300,14500,19400,23000,29000];
				for(var i=0;i<opereation_val.length;i++) {
		   $(operation[i]).val(opereation_val[i]); 
				}	
				price = parseInt($("select#operation").val());	 
				 $("#result").text(parseInt(price));
				 }
				 else if($('#tariff2').prop('checked')==true){
				 var opereation_val = [4200,7800,10900,15700,18100,24200];
				for(var i=0;i<opereation_val.length;i++) {
		   $(operation[i]).val(opereation_val[i]); 
				}	
				price = parseInt($("select#operation").val());
				 $("#result").text(parseInt(price));
				 }
				else if($('#tariff3').prop('checked')==true){
				 var opereation_val = [5400,9000,12100,16900,20500,26600];
				for(var i=0;i<opereation_val.length;i++) {
		   $(operation[i]).val(opereation_val[i]); 
				}	
				 price = parseInt($("select#operation").val());
				 $("#result").text(parseInt(price));
				 }
		 
	}
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2013, 12:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,327

Сообщение от Nevea
в зависимости от нажатой радиокнопки нужно сгенерировать значения value для option
Откуда берутся все эти "значения"?
Ответить с цитированием
  #9 (permalink)  
Старый 08.10.2013, 12:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<!DOCTYPE html>
<form class="calculator" id="calculator">
    Тариф:<br/>
    <label><input type="radio" name="radio_tariff" value="tariff1" checked=""/>ОСН</label><br/>
    <label><input type="radio" name="radio_tariff" value="tariff2"/> УСН (6%)</label><br/>
    <label><input type="radio" name="radio_tariff" value="tariff3"/>УСН (15%)</label><br/>
     
    <br/>
    Операции<br/>
    <select name="operation">
        <option>текст</option>
        <option>текст</option>
        <option>текст</option>
        <option>текст</option>
        <option>текст</option>
        <option>текст</option>
    </select>
    <br/>
    <output name="result">0</output>
    <script>
        (function() {
            var tariffs = {
                tariff1: [7200,10300,14500,19400,23000,29000],
                tariff2: [4200,7800,10900,15700,18100,24200],
                tariff3: [5400,9000,12100,16900,20500,26600]
            };
            var form = document.querySelector('#calculator');
            var output = form.querySelector('[name="result"]'); // form.result
            form.onchange = function() {
                var selectedTariff = form.querySelector('input[name="radio_tariff"]:checked').value;
                output.innerHTML = tariffs[selectedTariff][form.operation.selectedIndex];
            };
            // initialization
            form.onchange();
        })()
    </script>
</form>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 08.10.2013, 13:57
Новичок на форуме
Отправить личное сообщение для Nevea Посмотреть профиль Найти все сообщения от Nevea
 
Регистрация: 07.09.2012
Сообщений: 7

спасибо большое, разобрался
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена элементов массива элементами массива prostoix Javascript под браузер 4 24.10.2013 16:36
Выбор из массива трех элементов sonntagausgang Общие вопросы Javascript 2 26.05.2013 01:59
Нужен цикл для создания огромного массива apish Общие вопросы Javascript 2 20.09.2012 15:10
Сортировка массива по ключу RazZzeR Элементы интерфейса 9 21.07.2012 18:31
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 21:01