Код JavaScript для объединения для цикла, текста, флажков, результата - PullRequest
0 голосов
/ 12 февраля 2012

Я пытаюсь выполнить упражнение для класса JavaScript, и меня смущает порядок кода. Упражнение таково: мы собираем информацию об опросах в форме. Инструкции: используйте цикл for, чтобы узнать, какие флажки выбраны (пользователь может выбрать до 4) и отобразить их значение в сообщении о результате. Варианты выбора для флажков: красный, синий, оранжевый и фиолетовый.

Любая помощь, которую кто-либо может предложить, будет наиболее ценной. Это мой первый вопрос по stackOverflow, поэтому прошу прощения, если я не придерживался всех рекомендаций. Спасибо!

Ответы [ 4 ]

1 голос
/ 12 февраля 2012

Вот эскиз:

var checkboxes = { 
  red: getElementByID('red'),
  blue: getElementByID('blue'),
  orange: getElementByID('orange'),
  purple: getElementByID('purple')
};

var resultMessage = "";
for (var name in checkboxes) {
  resultMessage += name + ": " + checkboxes[name].selected + "\n";
};

alert(resultMessage);

getElementByID - это пример метода - вам нужно будет предоставить свой собственный.

1 голос
/ 12 февраля 2012

Вот основные шаги (по порядку):

  1. Получить список флажков из DOM (это приведет к массиву объектов DOM)
  2. Выполните цикл по массиву с циклом for, чтобы подсчитать, сколько флажков отмечено.
  3. Показать количество

То, как вы выполните шаг 1, зависит от имеющегося у вас HTML-кода, поэтому вам нужно будет опубликовать HTML-код, прежде чем мы сможем дать более конкретный совет (без диких догадок).

Цикл с циклом for является не более чем простой итерацией массива с использованием цикла for. Вы должны быть в состоянии узнать, как это сделать, в материалах курса, где он охватывает цикл for.

Отображение счетчика может быть выполнено любым количеством способов. Самое простое - использовать сообщение alert().

0 голосов
/ 12 февраля 2012

вот простой способ: http://jsfiddle.net/V5a8V/

0 голосов
/ 12 февраля 2012

Вот живая демонстрация: http://jsfiddle.net/DerekL/qvvLQ/

Очень просто.

Я использовал jQuery, поскольку его проще использовать: (Вот часть этого)

function findIt(){
    var ele=$("input"),                 //get all checkboxes
        obj={};                         //create an object that store information

    for(var i=0;i<ele.length;i++){
        var e=ele[i];
        obj[$(e).attr("value")]=e.checked;   //store data in obj
    }
    for(key in obj){
        alert(key+": "+((obj[key])?"Checked":"Not checked"));    //recall it
    }
}​

Вы также можете использовать obj в других function s, чтобы делать с ним другие вещи.
Демонстрационная версия: http://jsfiddle.net/DerekL/qvvLQ/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...