Изменение значения input при клике по ссылкам
День добрый, пожалуйста выручайте. Сам на силён в яваскрипте :(
две группы ссылок с id 1,2,3,4 + z1,z2,z3,z4,z5 и форма по клику в каждой группе выбирается одна. К примеру пользователь выбрал 1+z4 как-то можно сделать так, чтобы input hidden а форме приобретал значения 1_z4 ну и так, чтобы её передать в php |
Цитата:
в php передать можно по сабмиту формы |
Цитата:
пользователь выбирает совершенно разные значения ну и ещё как-то нужно объединить выбранные, т.е. "1"+"_"+"z4" между переменными воткнуть "_" |
Ссылка должна куда-то ссылаться. Куда у тебя ссылаются твои ссылки?
Такие контролы не подойдут?: <label><input type="radio" name="r1" /> Option 1</label> <label><input type="radio" name="r2" /> Option 2</label> <select size="2"> <option>Option 1</option> <option>Option 1</option> </select> |
ссылки:
<ul> <li><a class="cur" id="ROOM" href="#">комнату, квартиру </a></li> <li><a id="NEWBUILDING" href="#">новостройку </a></li> <li><a id="HOUSE" id href="#">дом, коттедж </a></li> <li><a id="COMMERCE" href="#">коммерческую </a></li> <li><a id="LAND" href="#"> земельный участок </a></li> <li><a id="DACHA" href="#"> дачу </a></li> </ul> <ul> <li><a id="BUY" class="cur" href="#"> КУПИТЬ</a></li> <li><a id="RENT" href="#"> СНЯТЬ </a></li> <li><a id="SELL" href="#">ПРОДАТЬ </a></li> <li><a id="PASS" href="#"> СДАТЬ </a></li> </ul> скриптик jQuery(document).ready(function() { $('.filter__form__radios a').click(function() { if (!$(this).hasClass('filter__form__radios__disable')) $(this).toggleClass('filter__form__radios__active') }); $('.filter__vert-buttons ul a, .filter__hor-buttons ul a').bind('click', function() { $(this).closest('ul').find('a').removeClass('cur'); $(this).addClass('cur'); filter(); }); filter(); }); function filter() { var vertID = $('.filter__vert-buttons a.cur').attr('id'); var horID = $('.filter__hor-buttons a.cur').attr('id'); var fitems = $('.filter__form__item'); fitems.css('display', 'none'); $('.' + horID + '_' + vertID).css('display', 'block'); } но фишка в том, что скрипт лишь скрывает некоторые поля формы, а выборка из БД идет по одной таблице, в которой, к примеру, идентификатор action_type = ROOM_RENT отвечает за аренду квартир. вот и возникла идея установить скрытый динамический input, зависящий от выбранных параметров (купить+коттедж=HOUSE_BUY, Арендовать+квартиру=ROOM_RENT) или может есть другой выход? |
<style> label { cursor: pointer; overflow: hidden; } label span{ color: #284A67; text-decoration: underline; } label input{ position: absolute; right: 100%; } label input:checked + span{ color: red; } fieldset{ border: 1px solid #ccc; margin: 0 0 20px; } </style> <form method="get" target="_blank" action="http://site.ru/handler"> <fieldset> <div><label> <input type="radio" name="what" value="ROOM" required /> <span>комнату, квартиру</span></label></div> <div><label> <input type="radio" name="what" value="NEWBUILDING" required /> <span>новостройку</span> </label></div> <div><label> <input type="radio" name="what" value="HOUSE" required /> <span>дом, коттедж</span> </label></div> </fieldset> <fieldset> <div><label> <input type="radio" name="action" value="BUY" checked required /> <span>КУПИТЬ</span></label></div> <div><label> <input type="radio" name="action" value="RENT" /> <span>СНЯТЬ</span> </label></div> <div><label> <input type="radio" name="action" value="SELL" /> <span>ПРОДАТЬ</span> </label></div> </fieldset> <button type="submit">Ок</button> </form> Нажми кнопку и посмотри на URL открытого окна. Чтобы :checked работал в IE8 нужно подключить http://selectivizr.com/ или написать простенький костыль (примерно такой как у тебя в коде) |
Спасибо! Я так понимаю, что со ссылками нет варианта?
|
Так а чем плох вариант с радиокнопками? По семантике отлично подходит, в отличие от ссылок, ведущих вникуда. Плюс работает даже без javascript'а. Хотя с другой стороны фильтрация работать не будет, и видимо толку от странице при NoScript нет.
|
вот именно в фильтрации и речь, а переделывать всё уже нет времени :(
нехороший исполнитель скрылся/потерялся не доделав, потому приходится выполнять мне, а это не моя сфера, хотя руководителя это не волнует... для них мы все компьютерщики! |
Ну хоть кто-нибудь поможет?
я отблагодарю... |
Часовой пояс GMT +3, время: 07:44. |