Как сделать обязательным 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> то при клике и не выбранном инпуте, еще раз не показывать) но не знаю как это все реализовать… |
Anrew,
if ($(".model:checked").length) |
Спасибо большое. А подскажите как один раз <span>сначала... добавлять?
|
Anrew,
также ))) if(!$('.b1c span').length) $('.b1c').append('<span>Сначала выберите модель.</span>'); |
Спасибо за совет, но тут вылезла еще проблемка - теперь этот span добавляется ко всем кнопкам .b1c (их у меня несколько и обернуты в .b1c-good) Инпуты берутся правильно - только там, где была нажата кнопка, а вот span ко всем кнопкам добавляется...
|
Anrew,
я показал вам проверку с помощью length -- а куда и зачем вы добавляите мне неизвестно. |
рони,
и за что Вам еще раз огромное спасибо) Дальше я сам разберусь - уже понял, что (bn) - выдает id того блока, где присутствует эта кнопка, т.е. мне нужно типо этого if(!$('.b1c span').length) $('(bn).b1c').append('<span>Сначала выберите модель.</span>'); Но только не знаю куда этот (bn) засунуть, чтобы было правильно))) |
Правильно описывать хотелку на человеческом языке не требуя от читателей реинжинирить коды ява-скриптов до хотелки на человеческом языке.
|
Anrew,
гадание .... if(!$('span',this).length) $(this).append('<span>Сначала выберите модель.</span>'); |
Да, действительно - с кусочком кода, что я дал, сложно разобраться)
Но рони угадал)) СПАСИБО |
Часовой пояс GMT +3, время: 03:23. |