У меня есть простая форма (текстовое поле и кнопка отправки). Я пытаюсь, чтобы пользователь отправил число, и в результате число будет отображать один div (из набора div).Javascript - Отправить текст поля, Показать Div, Скрыть все остальные
Я попытался использовать this example в качестве базы (когда пользователь нажимает на ссылку, она показывает div, но скрывает другие).
Мой тест ниже:
var divState = {};
function showhide(oFrm) {
var dividnum = oFrm.Inputed.value;
var prepar = "para";
var divid = prepar + theInput; /* should result in something like "para52" */
divState[divid] = (divState[divid]) ? false : true;
//close others
for (var div in divState){
if (divState[div] && div != divid){
document.getElementById(div).style.display = 'none';
divState[div] = false;
}
}
divid.style.display = (divid.style.display == 'block' ? 'none' : 'block');
}
http://jsfiddle.net/LfzYc/431/
Примечание: Я не специалист в JavaScript на всех, поэтому я с трудом.
Кроме того, я хотел бы добавить функцию ... если введенный номер не находится между 1-4, покажите другой div, возможно, с идентификатором paraEnd
.
Это выглядит здорово. Как можно модифицировать код, чтобы у него было больше абзацев? У меня 142 записи ... (не только 4). Я предполагаю, что строка 7 должна быть пересмотрена ... ['1', '2', '3', '4']. – user3412194
Я попытался изменить оператор if: if (divnum> = 142) {... но это не сработало – user3412194
@ user3412194 Пожалуйста, посмотрите [следующий jsFiddle] (http://jsfiddle.net/LfzYc/438 /) Я обновил код. –