Изменение значения 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, время: 11:59. |