如何在JavaScript中显示多个结果?

时间:2012-05-10 13:22:59

标签: php javascript

我想显示多个选定选项的多个结果,这里我显示的是我的PHP和JavaScript代码。

function save() {
    if (!validateSave())
        return;
    var e;
    var result;
    e = document.getElementsByName("q1[]");
    for (var j = 0; j <= e.length - 1; j++) {
        if (e[j].checked) {
            result = "1:" + e[j].value;
            //break;
        }
} 

HTML代码

 <div class="qright">
        <!-- multioption handler --------------------------------------------------->
        <input type="hidden" name="multioption" value="true"  />
                    <!-- end ------------------------------------------------------------------->
        <label for="q1"><input type="checkbox" name="q1[]" value="1" class="styled" />Reducing cost</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="2" class="styled" />Upgrading your hardware and software infrastructure</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="3" class="styled" />Aligning the IT goals with the overall business strategy</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="4" class="styled" />Enabling agile working</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="5" class="styled" />Streamlining supplier management</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="6" class="styled" />Improving network availability/access</label>
        <label for="q1"><input type="checkbox" name="q1[]" value="7"class="styled"  />Improving the utilisation of your network</label>
    </div>    

如果我选择多个选项,那么它也只显示一个值,我应该在JavaScript函数中改变什么?

2 个答案:

答案 0 :(得分:0)

document.getElementsByName("q1[]");替换为document.getElementsByName("q1");

答案 1 :(得分:0)

result = "1:" + e[j].value;

这看起来就像每次找到匹配项时初始化结果一样。 (即删除先前的查找并用新的查找覆盖它)

你应该使用

result += j+":" +e[j].value;

虽然我没有看到这是如何存储多个数据元素的好方法。

也许你应该使用数组?

result.push(e[j].value);

(在数组中,您需要将结果var初始化为数组var result = new Array;