Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2015, 23:24
Интересующийся
Отправить личное сообщение для Anrew Посмотреть профиль Найти все сообщения от Anrew
 
Регистрация: 24.05.2015
Сообщений: 20

Как сделать обязательным input radio?
Наиумнейшие, помогите, пожалуйста – есть код
$(document).delegate(".b1c", "click", function() {
    $("#myCheckbox").prop("checked");
		bc = [];
		bo = []; // clear array

		bg = $(".b1c-good").length == 0 ? $("body") : $(this).closest(".b1c-good");
		bn = $(bg).find(".b1c-name").html().length == 0 ? $(bg).find("h1").text() : $(bg).find(".b1c-name").text();

		$(bg).find("[data-bme]").each(function() {
			var elTag = $(this)[0].nodeName.toLowerCase(); //prop("tagName");
			bc.push($(this).attr("data-bme")); // add field name

			switch (elTag) { // find value
				case "textarea": // textarea
					bo.push($(this).val());
					break;
				case "select": // selects
					bo.push($(this).find(":selected").text());
					break;
				case "input": 
					var elType = $(this).attr("type").toLowerCase(); // get input type
					switch (elType){
						case "text": // text fields
						case "hidden": // hidden values
						case "radio": // radio
					    if (this.checked) { bo.push(this.value);
						} else {
                            bc.pop();
                        }
							break;
						case "checkbox": // guess
							bo.push($(this).is(":checked") ? bmeData["txt.yes"] : bmeData["txt.no"]);
							break;
					}
					break;
				default: // div, span, p, etc.
					bo.push($(this).text());
			}
			
		});
		
$(".b1c-form .b1c-title-name span").html(bn);
	  showForm();
       return false;	
	});

И набор кнопок – например
<input type="radio" value="переменный" id="Model11" name="1Model" data-bme="Модель">
<input type="radio" value="переменный" id="Model21" name="2Model" data-bme="Модель">
<input type="radio" value="переменный" id="Model31" name="3Model" data-bme="Модель">


Нужно чтобы при клике если хоть один инпут не нажат, то возле кнопки появлялось – «не выбрано» Если нажат – открывалась форма.
Пробовал делать так – добавить ко всем инпутам class=”model”
if ($(".model").prop("checked")){
		$(".b1c-form .b1c-title-name span").html(bn);
		showForm();		
		} else {
		$('.b1c').append('<span>Сначала выберите модель.</span>');
		return false;
        }

Но так работает только при выборе первого инпута. И еще при каждом клике выдает «сначала выберите модель» Я понимаю, что нужно делать проверку (если уже есть <span> то при клике и не выбранном инпуте, еще раз не показывать) но не знаю как это все реализовать…
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2015, 23:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,785

Anrew,
if ($(".model:checked").length)
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2015, 23:45
Интересующийся
Отправить личное сообщение для Anrew Посмотреть профиль Найти все сообщения от Anrew
 
Регистрация: 24.05.2015
Сообщений: 20

Спасибо большое. А подскажите как один раз <span>сначала... добавлять?
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2015, 23:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,785

Anrew,
также )))
if(!$('.b1c span').length) $('.b1c').append('<span>Сначала выберите модель.</span>');
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2015, 00:07
Интересующийся
Отправить личное сообщение для Anrew Посмотреть профиль Найти все сообщения от Anrew
 
Регистрация: 24.05.2015
Сообщений: 20

Спасибо за совет, но тут вылезла еще проблемка - теперь этот span добавляется ко всем кнопкам .b1c (их у меня несколько и обернуты в .b1c-good) Инпуты берутся правильно - только там, где была нажата кнопка, а вот span ко всем кнопкам добавляется...
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2015, 00:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,785

Anrew,
я показал вам проверку с помощью length -- а куда и зачем вы добавляите мне неизвестно.
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2015, 00:32
Интересующийся
Отправить личное сообщение для Anrew Посмотреть профиль Найти все сообщения от Anrew
 
Регистрация: 24.05.2015
Сообщений: 20

рони,
и за что Вам еще раз огромное спасибо) Дальше я сам разберусь - уже понял, что (bn) - выдает id того блока, где присутствует эта кнопка, т.е. мне нужно типо этого if(!$('.b1c span').length) $('(bn).b1c').append('<span>Сначала выберите модель.</span>'); Но только не знаю куда этот (bn) засунуть, чтобы было правильно)))
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2015, 05:28
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Правильно описывать хотелку на человеческом языке не требуя от читателей реинжинирить коды ява-скриптов до хотелки на человеческом языке.
Ответить с цитированием
  #9 (permalink)  
Старый 27.05.2015, 07:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,785

Anrew,
гадание ....
if(!$('span',this).length) $(this).append('<span>Сначала выберите модель.</span>');
Ответить с цитированием
  #10 (permalink)  
Старый 27.05.2015, 09:06
Интересующийся
Отправить личное сообщение для Anrew Посмотреть профиль Найти все сообщения от Anrew
 
Регистрация: 24.05.2015
Сообщений: 20

Да, действительно - с кусочком кода, что я дал, сложно разобраться)
Но рони угадал)) СПАСИБО
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 21:30
Хочу сделать систему, как в кибермаркете. RaseL Общие вопросы Javascript 6 14.01.2015 16:25
Событие на input radio redwert Элементы интерфейса 3 23.09.2014 08:45
Как сделать перевод строки в input type="text" Dim@ (X)HTML/CSS 5 25.09.2012 04:25
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 12:55