Параметры JS и ассоциативные массивы

0

Привет, У меня проблемы с этой функцией JS. Я пытаюсь передать переменную String и элемент html в JS-функцию, таким образом, я могу изменить значение другого элемента.

JS

function resetSequence(biz_hrs,form){
var employees= [
{
"esc_hrs":"B"
"esc_resp":5004
"maximun":4
"minimun":1
}
{
"esc_hrs":"B"
"esc_resp":5005
"maximun":4
"minimun":1
}
{
"esc_hrs":"B"
"esc_resp":5006
"maximun":2
"minimun":1
}
{
"esc_hrs":"B"
"esc_resp":5007
"maximun":0
"minimun":0
}
{
"esc_hrs":"B"
"esc_resp":5054
"maximun":3
"minimun":1
},
];
for(var i = 0; i< employees.length; i++){
if(biz_hrs === employees[i].esc_hrs && form.value === employees[i].esc_resp ){
var f = document.escform;
f.sequence.max=employees[i].maximun;
f.sequence.val=employees[i].minimun;
}
}

HTML

 <select id="p_escalation_resp_i" name="p_escalation_resp_i" class="validate[required]" onChange="resetSequence('B',this)">
<option value="5004">Database</option>
<option value="5005" selected >Application</option>
<option value="5006">Network Connectivity</option>
<option value="5007">Operating System Hardware</option>
<option value="5054">TEST</option>
      </select>

<input type="number" name="p_escalation_sequence_i" id="sequence"   value="1" step="1" min="0" max=""  selected />

мой вопрос в том, хорош ли параметр Char B и если для cicle тоже хорошо

  • 1
    Почему ты так много убегаешь, просто пройди 'B' как обычно!
  • 0
    Я видел в другом блоге ответ, что вы должны сделать это ??
Показать ещё 4 комментария
Теги:

1 ответ

0

Ваш вопрос не очень ясен, но я могу сделать вывод, что вы хотите изменить максимальное и минимальное значение вашего ввода последовательности, верно?

Состояние:

if(biz_hrs === employees[i].esc_hrs && form.value === employees[i].esc_resp ){

Всегда возвращайте false, потому что form.value - это String, а employees[i].esc_resp - целое число.

Затем попробуйте employees[i].esc_resp значения employees[i].esc_resp в определении вашего массива:

var employees= [
{
"esc_hrs":"B",
"esc_resp":"5004",
"maximun":4,
"minimun":1
},
{
"esc_hrs":"B"
"esc_resp":"5005"
"maximun":4
"minimun":1
},
{
"esc_hrs":"B",
"esc_resp":"5006",
"maximun":2,
"minimun":1
},
{
"esc_hrs":"B",
"esc_resp":"5007",
"maximun":0,
"minimun":0
},
{
"esc_hrs":"B",
"esc_resp":"5054",
"maximun":3,
"minimun":1
}
];

Обратите внимание на знаки запятой (,) и кавычки ("").

Полный код, который работает для меня:

<html>
<head></head>

<body>
   <select id="p_escalation_resp_i" name="p_escalation_resp_i" class="validate[required]" onChange="resetSequence('B',this);">
   <option value="5004">Database</option>
   <option value="5005" selected >Application</option>
   <option value="5006">Network Connectivity</option>
   <option value="5007">Operating System Hardware</option>
   <option value="5054">TEST</option>
</select>

<input type="number" name="p_escalation_sequence_i" id="sequence"   value="1" step="1" min="0" max=""  selected />

<script>
function resetSequence(biz_hrs,form){

var employees= [
{
"esc_hrs":"B",
"esc_resp":"5004",
"maximun":4,
"minimun":1
},
{
"esc_hrs":"B",
"esc_resp":"5005",
"maximun":4,
"minimun":1
},
{
"esc_hrs":"B",
"esc_resp":"5006",
"maximun":2,
"minimun":1
},
{
"esc_hrs":"B",
"esc_resp":"5007",
"maximun":0,
"minimun":0
},
{
"esc_hrs":"B",
"esc_resp":"5054",
"maximun":3,
"minimun":1
}
];

for(var i = 0; i< employees.length; i++){
 if(biz_hrs === employees[i].esc_hrs && form.value === employees[i].esc_resp ){
  var f = document.getElementById("sequence");
  f.max=employees[i].maximun;
  f.val=employees[i].minimun;
  break;
 }
}

}
</script>
</body>
</html>

Ещё вопросы

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