Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Это надо видеть (https://javascript.ru/forum/dom-window/66716-ehto-nado-videt.html)

Хан 05.01.2017 14:45

Это надо видеть
 
Привет. Не работает код:
var znach = pop.value;
var someArray = $('select[name=someSelect]').attr('value') || [];

$(document).ready(function(){
	$("button").on("click", function() {
		document.getElementById("balans").innerHTML = "Ваш баланс: " + znach + " " + someArray; 
	});
});


<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
	<title>Javascript page</title>
	<script type="text/javascript" src="jquery-3.1.0.min.js"></script>
</head>
<body>
	<p>Пополнить счёт:</p>
	<input type="text" name="popolnit" id="pop" />
	<p>Выберите валюту</p>
	<select>
		<option>EUR</option>
		<option>USD</option>
		<option>RUB</option>
		<option>GBP</option>
	</select>
	<input type="button" name="ОК" value="Ok" />
	<p id="balans">Ваш баланс: 0</p>
	<script type="text/javascript" src="index.js"></script>
</body>
</html>


Почему? Заранее благодарю за помощь!

laimas 05.01.2017 14:48

Откуда может быть $('select[name=someSelect]').attr('value') до $(document).ready(function() и каким образом объект поместить в html?

Хан 05.01.2017 15:02

То есть, ошибка в "+ znach", "+ someArray" и в том что переменные стоят до document.ready?

laimas 05.01.2017 15:23

Я понятия не имею что такое pop и определено ли оно чтобы можно было получить pop.value, но пока документ не загружен, DOM не сформирован, $('select[name=someSelect]') = undefined, а вставить массив в html, это нечто.

Хан 05.01.2017 15:54

pop - это id текстового поля, pop.value - введенное в поле число. Другого способа (для того чтобы взять выбранное пользователем значение из списка) кроме как $('select[name=someSelect]'), я не нашёл. Вот поэтому и обратился сюда.

рони 05.01.2017 17:01

Хан,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
$(function() {
    $('[type="button"]').on("click", function() {
        $("#balans").html("Ваш баланс: " + (+$("#pop").val() || 0) + " " + $("option:selected").text())
    })
});
  </script>
</head>

<body>
<p>Пополнить счёт:</p>
  <input type="text" name="popolnit" id="pop" />
  <p>Выберите валюту</p>
  <select>
    <option>EUR</option>
    <option>USD</option>
    <option>RUB</option>
    <option>GBP</option>
  </select>
  <input type="button" name="ОК" value="Ok" />
  <p id="balans">Ваш баланс: 0</p>


</body>
</html>

Хан 05.01.2017 17:45

рони,
Ты - гений!


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