Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Переменная и select (https://javascript.ru/forum/dom-window/52978-peremennaya-i-select.html)

рони 22.01.2015 09:40

Navilsor,
трудно судить по обрывку кода, делайте полноценный макет как в примерах выше

Navilsor 22.01.2015 10:21

Вот:

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script type="text/javascript">

 var base = { 1 : {src : "images/picture1.jpg", price : 5900}, 2 : {src : "images/picture2.jpg", price : 6900}, 3 : {src : "images/picture2.jpg", price : 7900}};

 function changeImage(form) {
     document.images["pic"].src = base[form.value].src;
     document.getElementById("mydiv").innerHTML = base[form.value].price;
     form.value = 0
 };
 
 function calc() { 
 
 var type_widht = document.getElementById("type_widht"); 
 var type_height = document.getElementById("type_height");
 var type_area = document.getElementById("type_area");
 var type_money = document.getElementById("type_money");
 var type_mydiv = document.getElementById("mydiv");

 var result = document.getElementById("result_widht"); 
 var result = document.getElementById("result_height");
 var result = document.getElementById("result_area");
 var result = document.getElementById("result_money");
 var result = document.getElementById("result");
 
 var price_widht = 0;
 var price_height = 0; 
 var price_area = 0; 
 var price_money = 0;
 var pricex = 0;
 
 price_widht += parseInt(type_widht.value);
 price_height += parseInt(type_height.value);
 
 price_area += parseInt(type_widht.value*type_height.value)/1000000;
 
 price_money += parseInt(type_widht.value*type_height.value*type_mydiv.value)/1000;
 
 pricex = price_area;
 
 result_area.innerHTML = price_area; 
 
 result_money.innerHTML = price_money; 
 
 result.innerHTML = pricex;
 
  };

</script>

</head>

<body>

<form>
<table>
<tr>
<td width="200"></td>
<td><img name="pic" src="images/picture1.jpg" alt=""></td>
</tr>
<tr>
<td width="200">Укажите Параметр:</td>
<td width="200"><select size=1 name="imagename" onChange="changeImage(this)" id="price">
 <option value="0">Выбрать</option>
 <option value="1">Параметр 1</option>
 <option value="2">Параметр 2</option>
 <option value="3">Параметр 3</option>
 </select>
 </td>
 <td width="200"><span id="mydiv">0</span> Ед.изм.</td>
</tr> 

<tr>
<td width="200"></td>
</tr> 

</table>
 
</form>

<table>

<tr>
 <td width="200">Укажите значение widht:</td>
 <td width="100"><input type="text" id="type_widht" value="0" onchange="calc()" /></td>
 <td width="200">Результат деления на миллион:<span id="result_area">0</span> Ед.изм.</td>
</tr>
 
 <tr>
 <td width="200">Укажите значение height:</td>
 <td width="100"><input type="text" id="type_height" value="0" onchange="calc()" /></td>
 <td width="200">Результат деления на тысячу:<span id="result_money">0</span> Ед.изм.</td>
 </tr>

 <tr style="background-color:#eeeeee;border:1px solid #c6c6c6">
 <td width="200" class="td_result">ИТОГО:</td>

 <td width="100"></td>
 <td class="td_result"><span id="result">0</span> Ед.изм.</td>
 </tr>
</table>

</body>

</html>

рони 22.01.2015 10:45

Цитата:

Сообщение от Navilsor
var result = document.getElementById("result_widht");
var result = document.getElementById("result_height");
var result = document.getElementById("result_area");
var result = document.getElementById("result_money");
var result = document.getElementById("result");

это какой-то праздник!!! в результате только последняя строка значима

рони 22.01.2015 10:51

Цитата:

Сообщение от Navilsor
price_money += parseInt(type_widht.value*type_height.value*type_mydiv.value)/1000;

нету value у div -- а есть что-то иное

Navilsor 22.01.2015 17:28

Что-то я не дружу с dataset. Подскажите плиз?
var dollar = $(selector).data('myValue');

<div id="mydiv" data-my-value="mydiv">0</div>

рони 22.01.2015 17:44

Navilsor,
вы не это ищите?
document.getElementById("mydiv").innerHTML

по дата
http://learn.javascript.ru/dataset-api

Navilsor 23.01.2015 07:22

Беру переменную. и опять NaN
var type_mydiv = document.getElementById("mydiv").innerHTML;

рони 23.01.2015 08:28

Navilsor,
:-? строка 40
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script type="text/javascript">

 var base = { 1 : {src : "images/picture1.jpg", price : 5900}, 2 : {src : "images/picture2.jpg", price : 6900}, 3 : {src : "images/picture2.jpg", price : 7900}};

 function changeImage(form) {
     document.images["pic"].src = base[form.value].src;
     document.getElementById("mydiv").innerHTML = base[form.value].price;
     form.value = 0
 };

 function calc() {

 var type_widht = document.getElementById("type_widht");
 var type_height = document.getElementById("type_height");
 var type_area = document.getElementById("type_area");
 var type_money = document.getElementById("type_money");
 var type_mydiv = document.getElementById("mydiv");


 var result = document.getElementById("result");

 var price_widht = 0;
 var price_height = 0;
 var price_area = 0;
 var price_money = 0;
 var pricex = 0;

 price_widht += parseInt(type_widht.value)||0;
 price_height += parseInt(type_height.value)||0;

 price_area += parseInt(type_widht.value*type_height.value)/1000000;

 price_money += parseInt(type_widht.value*type_height.value*type_mydiv.innerHTML)/1000;

 pricex = price_area;

 result_area.innerHTML = price_area;

 result_money.innerHTML = price_money;

 result.innerHTML = pricex;

  };

</script>

</head>

<body>

<form>
<table>
<tr>
<td width="200"></td>
<td><img name="pic" src="images/picture1.jpg" alt=""></td>
</tr>
<tr>
<td width="200">Укажите Параметр:</td>
<td width="200"><select size=1 name="imagename" onChange="changeImage(this)" id="price">
 <option value="0">Выбрать</option>
 <option value="1">Параметр 1</option>
 <option value="2">Параметр 2</option>
 <option value="3">Параметр 3</option>
 </select>
 </td>
 <td width="200"><span id="mydiv">0</span> Ед.изм.</td>
</tr>

<tr>
<td width="200"></td>
</tr>

</table>

</form>

<table>

<tr>
 <td width="200">Укажите значение widht:</td>
 <td width="100"><input type="text" id="type_widht" value="0" onchange="calc()" /></td>
 <td width="200">Результат деления на миллион:<span id="result_area">0</span> Ед.изм.</td>
</tr>

 <tr>
 <td width="200">Укажите значение height:</td>
 <td width="100"><input type="text" id="type_height" value="0" onchange="calc()" /></td>
 <td width="200">Результат деления на тысячу:<span id="result_money">0</span> Ед.изм.</td>
 </tr>

 <tr style="background-color:#eeeeee;border:1px solid #c6c6c6">
 <td width="200" class="td_result">ИТОГО:</td>

 <td width="100"></td>
 <td class="td_result"><span id="result">0</span> Ед.изм.</td>
 </tr>
</table>

</body>

</html>


Часовой пояс GMT +3, время: 03:12.