2015-10-09 3 views
0

Я пытался найти решение для этого в течение нескольких дней. То, что мне нужно, - это когда кто-то выбирает «Частоту обслуживания» в раскрывающемся меню формы, он должен автоматически заполнять «Биллинговую частоту *». Поэтому, если выбранная частота обслуживания «Услуга по вызову», «Биллинговая частота *» автоматически изменится на «Перехват» и так далее. Вот ссылка http://jsfiddle.net/k4hYE/47/ выбранная опция из раскрывающегося списка заполняет другое текстовое поле/значение понижающего значения

<label for="00NA00000047Jk8" class="label">Frequency of Service*<select id="00NA00000047Jk8" name="00NA00000047Jk8" title="Frequency of Service" required><option value="">--None--</option> 

<option value="On-Call Service">On-Call Service</option> 
<option value="Every Six Months (2 Stops Annually)">Every 6 Months (2x Year)  </option> 
<option value="Every Three Months (4 Stops Annually)">Every 3 Months (4x Year)</option> 
<option value="Every Other Month (6 Stops Annually)">Every Other Month (6x Year)</option> 
<option value="Monthly (12-13 Stops Annually)">Monthly (12-13x Year)</option> 

Каждую неделю (26x год) Каждую неделю (52x год)

</label></div> 

ответ

0

Для того, чтобы установить значение другого выпадающего списка на основе одного выбора ниспадающего, вам нужно будет создать массив ключ-значение и проверить ключ к DropDown выбор.

var objArray = {"On-Call Service": "Per Pickup"}; 
$("#00NA00000047Jk8").change(function() 
{ 
    var ddText = $(this).val(); 
    $.each(objArray,function(key,value) 
    { 
     if(ddText == key) 
      $("#00NA0000005wIiU").val(value); 
    }); 
}); 

Fiddle: http://jsfiddle.net/k4hYE/51/

+0

Спасибо, это здорово, но интересно, как я продолжаю следующий: «Каждые шесть месяцев (2 раза в год)» – user3498478

+0

Итак, по какой-то причине, в первый раз, когда я выполнил дерево, это не сработало. Это сейчас, но у меня есть новый вопрос по этому вопросу, который я задам в другом посте http://jsfiddle.net/k4hYE/53/ – user3498478

+0

Исправлена ​​ваша скрипка: http://jsfiddle.net/k4hYE/56/. Проблема с вашим кодом заключалась в том, что вы переписывали массив объектов, объявляя новый набор пары значений ключа. Надеюсь это поможет. – DinoMyte

0

Обновлено Fiddle: http://jsfiddle.net/k4hYE/50/

Установить JQuery наблюдающий на выберите поле, затем скопируйте значение в целевой идентификатор. Также вы можете использовать более идентифицируемый идентификатор для цели, если только вы программно не генерируете jquery для каждого окна выбора.

$(document).ready(function($){ 

    $('#00NA00000047Jk8').change(function(){ 
     var val = $(this).val(); 
     if (val == "On-Call Service"){ 
      $('#00NA0000005wIiU').val('Per Pickup'); 
     } 
     else { 
      alert('Finish the if/then tree for the rest'); 
     } 
    }); 

}); 
+1

Вместо того, чтобы использовать точное совпадение значений для каждого варианта, я бы рекомендовал использовать массив. – DinoMyte

+0

Согласовано, массив вариантов источника и параметров назначения будет более оптимальным, чем жестко закодированные варианты. –

+0

Спасибо, это здорово, но интересно, как я продолжаю следующий, например «Каждые шесть месяцев (2 раза в год)» – user3498478

Смежные вопросы