Javascript.RU

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

Запрет выбора option value="бронь" если в input value="0000-00-00"
<select name="status">
<option value="свободна">cвободна </option>
<option value="вторичная продажа">вторичная продажа </option>
<option value="бронь">бронь </option>
<option value="золотая бронь">золотая бронь</option>
</select>

<input type="text" name="brondo" value="0000-00-00">



Хочу сделать чтобы через JQ при выборе <option value="бронь"> выводилось через alert "Сначала введите дату брони" если в <input name="brondo"> стоит значение 0000-00-00 а если другое то просто ставилось бы значение бронь.


Вот рабочий пример html кода

https://jsfiddle.net/ufaclub/50vc8vy6/

Помогите пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2016, 19:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ufaclub
а если другое то просто ставилось бы значение бронь
Другое это какое, можно и "абвгд" или же все таки должно соответствовать формату даты?
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2016, 19:27
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

по сути условие одно не должно равняться 0000-00-00. В этом поле стоит плагин выбора даты. и руками там ничего не ввести.

Поэтому если значение стоит 0000-00-00. то сделать чтобы при выборе селекта на статус бронь был алерт мол сначала введи дату брони (ну и само собой не позволяло выставить статус бронь пока человек не введет дату)
Ответить с цитированием
  #4 (permalink)  
Старый 09.09.2016, 19:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну так проверяйте тогда значение поля, в чем проблема?

$('select').change(function() {
        if(this.value=="бронь" && $('input').val()=="0000-00-00") alert('text')
    })


А что, такие значения как "вторичная продажа" и т.п. и получает сервер? Кошмар. )
Ответить с цитированием
  #5 (permalink)  
Старый 09.09.2016, 19:49
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

"вторичная продажа" и т.п. и получает сервер? - отдельный статус который вводит клиент. тут все нормально.

Так. Спасибо все работает.
jQuery('select[name = status]').change(function() {
        if(this.value=="бронь" && jQuery('input[name = brondo]').val()=="0000-00-00") alert('text')
    })


но статус бронь все равно ставиться. т.е по сути только срабатывает alert('text')

как бы мне вернуть значение то что стояло на селекте?
Ответить с цитированием
  #6 (permalink)  
Старый 09.09.2016, 19:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ufaclub
отдельный статус который вводит клиент. тут все нормально.
Даже сложно представить, что тогда не нормально, если оперировать таким ужасом как "вторичная продажа", "бронь". Вы наверное не подозреваете, что в базе существует тип данных ENUM?

$('select').change(function() {
        if(this.value=="бронь" && $('input').val()=="0000-00-00") {
            alert('text');
            this.options[0].selected = 1; 
        }
    })


Или обязательно установить предыдущий выбор?
Ответить с цитированием
  #7 (permalink)  
Старый 09.09.2016, 19:57
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

Спасибо! все работает! и последний вопрос

как сделать чтобы проверялось и значение val()=="0000-00-00" ИЛИ val()==""

т.е на пустое значение тоже должна быть аналогичная реакция.

как в php

val=="0000-00-00" OR val==""
Ответить с цитированием
  #8 (permalink)  
Старый 09.09.2016, 20:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var v = $.trim($('input').val());
        if(this.value=="бронь" && !v || v=="0000-00-00") ...
Ответить с цитированием
  #9 (permalink)  
Старый 09.09.2016, 20:05
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

Спасибо! Я решил свою проблему!!!
Ответить с цитированием
  #10 (permalink)  
Старый 09.09.2016, 20:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ufaclub
Я решил свою проблему!!!
решите проблему с представлением таких ужасных значений в списке. Ну это же мракобесие, неужто не понятно, что это усложнение кода на сервере, да и ошибок можно нахватать по самые уши?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать как option выбран, если выбирать несколько(например через ctrl) Евгений_Лазаренко Общие вопросы Javascript 3 17.02.2014 00:20
checkbox check если значение input djonA Общие вопросы Javascript 8 14.01.2014 06:44
Если в input value сделать div видимым djonA Общие вопросы Javascript 2 03.09.2013 22:42
jQuery. Запрет выполнения события если другое уже выполняется. Kostyk92 Элементы интерфейса 4 09.03.2012 23:46
Горячие клавиши. Запрет ввода в input. August Общие вопросы Javascript 3 14.12.2011 21:59