Подключите нашего Telegram-бота для уведомлений о новых проектах

написать jquery код для обработки input по образцу

k
Заказчик
Отзывы фрилансеров: + 1 - 0
Зарегистрирован на сайте 10 лет и 2 месяца
Бюджет: по договоренности
Образец
www.blh.ru/orders/kadastr...

1. есть форма с radio buttons и labels.
2. есть var set (переменная с набором данных для json).
Я предполагаю следующий алгоритм (возможно, лучше посмотреть образец по вышеприведенной ссылке, т.к. я не программист и мне сложно описать):
когда пользователь кликает на input с определенным name, то скрипт ищет в var set ключи и значения, аналогичные input name (например, в var set есть "attribute_pa_region: moskva", и на странице есть инпуты с value="moskva" и name="attribute_pa_region")
если он находит его, то сбрасывает и блокирует для выделения те input (в предыдущих и последующих fieldset), у которых name не совпадает с набором в var set.

Подробнее
Первый элемент ( attribute_pa_tip-ob-ekta ) не ищет, т.к. в наборе в var set не присутствует.
Если второй элемент ( attribute_pa_region ) помечен, то ищет. attribute_pa_region присутствует во всех вложенных элементах, кроме 2 последних.
radio buttons могут быть помечены как вручную, так и по умолчанию.
Если для отмеченного radio button элемент в следующем fieldset (attribute_pa_gotovnost) не совпадает с набором для отмеченного, то выделить в следующем fieldset первый возможный вариант, а недопустимым добавить css класс и запретить возможность отметить.
Также проверить не только последующий, но и вообще все последующие и предыдущие. Если в var set нет таких вариантов, то их тоже скрыть.

Учтите, что параметры name от страницы к странице могут отличаться, поэтому Ваше решение не должно быть завязано на параметры name, указанные в html коде, приведенном здесь
Если текст был непонятен (а так, скорее всего, и есть), то посмотрите пример по ссылке. Мой html + var set + Ваше решение = должны дать приблизительно то, что указано по ссылке выше.


<table class="variations" cellspacing="0">
<tbody>
<tr>
<td class="label">
<label for="pa_tip-ob-ekta">Тип объекта</label>
</td>
<td class="value">
<fieldset>
<input value="zhiloe" id="pa_tip-ob-ekta2" name="attribute_pa_tip-ob-ekta" type="radio">
<label for="pa_tip-ob-ekta2">Жилое</label>
<input value="zemel-ny-j-uchastok" id="pa_tip-ob-ekta4" name="attribute_pa_tip-ob-ekta" type="radio">
<label for="pa_tip-ob-ekta4">Земельный участок</label>
<input value="nezhiloe" id="pa_tip-ob-ekta6" name="attribute_pa_tip-ob-ekta" type="radio">
<label for="pa_tip-ob-ekta6">Нежилое</label>
</fieldset>
</td>
</tr>
<tr>
<td class="label">
<label for="pa_region">Регион</label>
</td>
<td class="value">
<fieldset>
<input value="moskva" checked="checked" id="pa_region11" name="attribute_pa_region" type="radio">
<label for="pa_region11">Москва</label>
<input value="moskovskaya-oblast" id="pa_region13" name="attribute_pa_region" type="radio">
<label for="pa_region13">Московская область</label>
<input value="rossiya" id="pa_region15" name="attribute_pa_region" type="radio">
<label for="pa_region15">Россия</label>
</fieldset>
</td>
</tr>
<tr>
<td class="label">
<label for="pa_gotovnost">Готовность</label>
</td>
<td class="value">
<fieldset>
<input value="1" id="pa_gotovnost20" name="attribute_pa_gotovnost" type="radio">
<label for="pa_gotovnost20">1</label>
<input value="5" id="pa_gotovnost22" name="attribute_pa_gotovnost" type="radio">
<label for="pa_gotovnost22">5</label>
<input value="7" checked="checked" id="pa_gotovnost24" name="attribute_pa_gotovnost" type="radio">
<label for="pa_gotovnost24">7</label>
</fieldset>
</td>
</tr>
<tr>
<td class="label">
<label for="pa_versiya">Версия</label>
</td>
<td class="value">
<fieldset>
<input value="zaverennaya" checked="checked" id="pa_versiya29" name="attribute_pa_versiya" type="radio">
<label for="pa_versiya29">Заверенная</label>
<input value="e-lektronnaya" id="pa_versiya31" name="attribute_pa_versiya" type="radio">
<label for="pa_versiya31">Электронная</label>
</fieldset>
</td>
</tr>
</tbody>
</table>

var set = {
  post_120: {attribute_pa_region: moskva, attribute_pa_gotovnost: 7, attribute_pa_versiya: zaverennaya},
  post_129: {attribute_pa_region: moskovskaya-oblast, attribute_pa_gotovnost: 7, attribute_pa_versiya: zaverennaya},
  post_121: {attribute_pa_region: moskva, attribute_pa_gotovnost: 1, attribute_pa_versiya: zaverennaya},
  post_123: {attribute_pa_region: moskovskaya-oblast, attribute_pa_gotovnost: 1, attribute_pa_versiya: zaverennaya},
  post_125: {attribute_pa_region: rossiya, attribute_pa_gotovnost: 5, attribute_pa_versiya: zaverennaya},
  post_130: {attribute_pa_gotovnost: 5, attribute_pa_versiya: e-lektronnaya},
  post_131: {attribute_pa_gotovnost: 1, attribute_pa_versiya: e-lektronnaya}
};

Формирование переменной set может быть измененено, если Вам будет удобнее.
Разделы:
Опубликован:
08.03.2015 | 21:39 [последние изменения: 09.03.2015 | 13:16]

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».