2016-10-06 1 views
0

Моя функция должна вызывать число значений индекса на основе ввода пользователей (1-5) в зависимости от заданий на работу, которые они хотят видеть, а затем вызывать из массива значения индекса , поэтому, если пользователь вводит 3, необходимо записать значения индекса 0,1,2. В настоящее время он записывает только тот, который связан со входом не все ниже этого ввода. Это то, что я до сих пор:Как написать несколько значений индекса, а не только один

function jobduties() { 
    var x = document.getElementById("input").value; 
    var y = x-1; 
    var duties = ["Sales", "Customer Service", "Management", "Driving", "Cleaning"]; 
    var z = " "; 

    while(x > y){ 
     z += z + duties[y]; 
     y++; 
     document.getElementById("print").innerHTML= z; 
    } 
} 
+1

Как насчет 'вара у = 1'? –

+0

y = 1 не работает, я попробую другой код – Pmurphy

+0

Примечание: 'z + = z + duty [y];' приведет к дублированию –

ответ

0

Проблема заключается в том, что вы устанавливаете y = x-1, так что если пользователь вводит 3 (х = 3), у будет 2 (х-1) ... В в то время как вы начинаете с y = 2, вы добавляете это к z, а затем увеличиваете y, поэтому вы только оцениваете y = 2, так как следующий - y = 3, и это не удовлетворяет вашему условию (x> y)

Попробуйте эти изменения ... изменения var y = x - 1; для var y = 0;

А также удалить +, где вы изменить переменную г.

Edit: Кстати, я просто ответить на следующую методу вы выбрали, но я настоятельно рекомендую вам использовать цикл вместо этого, гораздо проще ..

+0

вы имеете в виду изменение '+ =' на '+' или удаление 'z +' справа от '+ =' ... примечание, ни одно из них не изменит тот факт, что текст для обязанностей будет иметь нет пробелов –

+0

Да, я согласен, но это для задания, которое у меня есть, когда мне нужно использовать цикл while, спасибо, но спасибо – Pmurphy

+0

Наконец-то работала, любая идея, как отформатировать ее, так что она не выходит из одной длинной части текста? – Pmurphy

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