Как добавить два значения к одному параметру в HTML-форме?

0

Эта форма создает и перенаправляет людей на ссылку в зависимости от их выбора! Им нужно выбрать марку двигателя, диапазон мощности, а затем их местоположение.

Текущие значения в марке двигателя и мощности - для Австралии, но если они выберут Америку, мне понадобятся разные значения!

Вопрос: Возможно ли иметь два разных значения для каждого элемента, и местоположение определит, какое значение использовать при создании ссылки!

<input type="radio" id="enginemake1" name="enginemake" value="6" checked/><label for="enginemake1">Chevrolet</label><br>
<input type="radio" id="enginemake2" name="enginemake" value="8"/><label for="enginemake2">Chrysler</label><br>
<input type="radio" id="enginemake3" name="enginemake" value="7"/><label for="enginemake3">Ford</label><br>


<select id="powerrange" name="powerrange">
<option id="powerrange1" value="128">200 HP</option>
<option id="powerrange2" value="178">250 HP</option>
<option id="powerrange3" value="228" selected>300 HP</option>
<option id="powerrange4" value="278">350 HP</option>
</select>

<input type="radio" id="location1" name="location" value="store" checked/><label for="location1">America</label><br>
<input type="radio" id="location2" name="location" value="store.au"/><label for="location2">Australia</label><br>


<script type="text/javascript">


function goToPage(){
    var location = $('input[name=location]:checked').val();
    var department = $('input[name=department]:checked').val();
    var enginemake = $('input[name=enginemake]:checked').val();
    var powerrange = document.getElementById("powerrange").value;

    window.location.href = "http://"+location+".domain.com/catalog.aspx?section=-"+enginemake+"-"+powerrange+"-";
}
</script>
  • 0
    Если все местоположения имеют одинаковое количество диапазонов мощности и одинаковое количество изготовителей движка, это поддается ассоциативному массиву (или объекту javascript). cars = {'store': {'1' : '225 HP', '2': '250 HP'}, 'store.au' : {'1' : '200 HP', '2' : '220 HP'}} и доступны на cars[location][powerrange] . Вы также можете сделать это с помощью массива / объекта и изменить параметры выбора, когда пользователь меняет селектор местоположения (чтобы они могли видеть фактические параметры диапазона мощности для этого местоположения)
  • 0
    Вот скрипка, чтобы показать последнее.
Показать ещё 2 комментария
Теги:
forms

1 ответ

0

Вы можете сохранить значение каждого параметра как JSON:

<select id="powerrange" name="powerrange">
    <option id="powerrange1" value='{"store":128,"store.au":258}'>200 HP</option>
    ...
</select>

Затем измените метод goToPage() следующим образом:

function goToPage(){
    var location = $('input[name=location]:checked').val();
    var department = $('input[name=department]:checked').val();
    var enginemake = $('input[name=enginemake]:checked').val();
    var powerrange = document.getElementById("powerrange").value;
    var json = $.parseJSON(powerrange);
    console.log(json[location]);

    console.log("http://"+location+".domain.com/catalog.aspx?section=-"+enginemake+"-"+json[location]+"-");
}

Смотрите этот скрипт для демонстрации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню