Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2013, 18:56
Новичок на форуме
Отправить личное сообщение для rowlin Посмотреть профиль Найти все сообщения от rowlin
 
Регистрация: 20.07.2013
Сообщений: 6

switch не корректно работает
Доброго времени суток ..
недавно начал копаться в js .
помогите разобраться скрипт не работает или работает некоректно

Код:
<script type='text/javascript'> 
$(function() {
      $("#want").change(function(){
      var Name= $('option:selected', this).attr('value');
   switch (Name) {
        case 0 :
        document.write("что хотите ??");
        break;
        case 1 :
        document.write(" я тоже ");
        break;
 case 2 :
      document.write(" я тоже ");
      break;
 case 3:
      document.write(" я тоже ");
      break;
 case 4:
      document.write(" я тоже ");
      break;
 case 5:
      document.write(" я тоже ");
      break;
};
});
    });
</script> 

</head> 

<body> 
<div id="want">
<form>
<label for="want">Я хочу</label>
<select  id="want">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5"> Что? </option>
</select> 
    </form> 
</div>
Хотелось бы что -бы после выбора (или не выбора ) js выводил строку или форму дл дальнейшего ввода
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2013, 19:21
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

набери в поисковике document.write, открой ссылку на статью учебника на этом сайте и почитай как и когда работает этот метод (там даже жирным выделено)
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2013, 19:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

1) Отформатируй код
[html] ...[/html]

2) var Name= $('option:selected', this).attr('value'); - че за борода? Пиши так:
var name = this.value;

3) У тя в кейсах числа, тогда как в переменной - строковое значение. Пиши так:
var name = this.value|0; // приводим к Number
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2013, 19:42
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

да, здесь мой баг, switсh оказывается строгое соответствие наводит

Последний раз редактировалось bes, 20.07.2013 в 19:44.
Ответить с цитированием
  #5 (permalink)  
Старый 20.07.2013, 20:34
Новичок на форуме
Отправить личное сообщение для rowlin Посмотреть профиль Найти все сообщения от rowlin
 
Регистрация: 20.07.2013
Сообщений: 6

danik.js

sorry не весь код вставил

за устранение бороды - отбельное спасибо .. много времени убил на ее написание

прирощая переменую name мы получаем всегда одно и то же =(
да и хотелось бы что-б case : document.write("бла-бла") распологался ниже <select> , а не с "новой" страницы
Код:
<html> 
<head> 
<title>Welcome!</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="../js/jquery-1.9.1.js"></script>
 <script src="customselect.js"></script>
<script type='text/javascript'> 
$(function() {
      $("#want").change(function(){
      var name = this.value|0;
   switch (name) {
 case 0 :
        document.write("что хотите ??");
        break;
 case 1 :
        document.write(" я тоже ");
        break;
 case 2 :
      document.write(" я тоже ");
      break;
 case 3:
      document.write(" я тоже ");
      break;
 case 4:
      document.write(" я тоже ");
      break;
 case 5:
      document.write(" я тоже ");
      break;
};
});
    });
</script> 

</head> 

<body> 

<div id="want">
<form>
<label for="want">Я хочу</label>
<select  id="want">
<option value="0"></option>
<option value="1">0</option>
<option value="2">1</option>
<option value="3">2</option>
<option value="4">3</option>
<option value="5"> 4 </option>
</select> 
    </form> 
</div>
</body> 
</html>
bes
посмотрим-почитаем
....
этот баг как-то лечится ??

Последний раз редактировалось rowlin, 20.07.2013 в 20:38. Причина: add
Ответить с цитированием
  #6 (permalink)  
Старый 20.07.2013, 20:52
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от rowlin
да и хотелось бы что-б case : document.write("бла-бла") распологался ниже <select> , а не с "новой" страницы
Сообщение от rowlin
bes
посмотрим-почитаем
....
да это именно оно

нужно вставлять в dom

Сообщение от rowlin
этот баг как-то лечится ??
ёбаный стыд? думаю, да

Последний раз редактировалось bes, 20.07.2013 в 20:54.
Ответить с цитированием
  #7 (permalink)  
Старый 20.07.2013, 21:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

И ты не правильно атрибуты ставишь тегам <script>
Тип желательно указывать для внешних скриптов (те что с src)
А для внутренних бесполезно, так как он и так по умолчанию text/javascript
Ответить с цитированием
  #8 (permalink)  
Старый 20.07.2013, 23:09
Новичок на форуме
Отправить личное сообщение для rowlin Посмотреть профиль Найти все сообщения от rowlin
 
Регистрация: 20.07.2013
Сообщений: 6

Сообщение от danik.js Посмотреть сообщение
И ты не правильно атрибуты ставишь тегам <script>
Тип желательно указывать для внешних скриптов (те что с src)
А для внутренних бесполезно, так как он и так по умолчанию text/javascript
понял ... т.е.

Код:
<html> 
<head> 
<title>Welcome!</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type='text/javascript'  src="../js/jquery-1.9.1.js"></script>
</head> 

<body> 

<div id="want">
<form>
<label for="want"> я хочу</label>
<select  id="want">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5"> Что? </option>
</select> 
    </form> 
    <script> 
$(function() {
      $("#want").change(function(){
  var name =this.value|0;
  switch (name) {
 case 0 :
        document.write("что хотите ??");
        break;
 case 1 :
        document.write(" я тоже ");
        break;
 case 2 :
      document.write(" я тоже ");
      break;
 case 3:
      document.write(" я тоже ");
      break;
 case 4:
      document.write(" я тоже ");
      break;
 case 5:
      document.write(" я тоже ");
      break;
};
});
    });
</script> 
</div>
</body> 
</html>
..только switch не работает =(
Ответить с цитированием
  #9 (permalink)  
Старый 20.07.2013, 23:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от rowlin
только switch не работает =(
добавь к коду alert(this.tagName);
подружись с alert и console.log и количество публичных вопросов должно резко уменьшиться

и danik.js тебе советовал оформлять код по-другому http://javascript.ru/formatting
Ответить с цитированием
  #10 (permalink)  
Старый 21.07.2013, 00:37
Новичок на форуме
Отправить личное сообщение для rowlin Посмотреть профиль Найти все сообщения от rowlin
 
Регистрация: 20.07.2013
Сообщений: 6

Ребят ..спасибо за помощь .. решение - использовать data-toggle-id
тут нашел
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Скрипт В IE отрабатывает корректно, но не работает в FF 3.5 Sonkkorh AJAX и COMET 11 27.07.2009 19:03
В объекте не корректно работает инкремента (++ или +=1)) Bratok Общие вопросы Javascript 2 28.04.2009 01:28
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32