0

我在 php 中有一个循环,它回显了一个<input type="hidden" id="lol" value=$id />

每次循环通过时,我都会在隐藏的输入字段中获得一个新值,如您所见。

现在,我试图从这些项目中获取价值并使用 Javascript 和 SAJAX 获取它。我现在使用的 javascript 可以正常工作,但是!它只获取第一个值(因为每个输入的 ID 相同)

Javascript:

function Showbooking() {
    id = document.getElementById('lol').value;
    x_showBookingForm(id, do_showBookingForm);
}
function do_showBookingForm(html) {
    openPopup(600, 550, html);
}

正如您所看到的,我还使用 javascript 打开了一个弹出窗口,并将值导出到该弹出窗口中。

因此,在每个弹出窗口中,我都会得到相同的值(来自第一个输入的值)。

我该如何解决这个问题?

4

2 回答 2

5
  1. 将 ID 更改为名称
  2. 使用 document.getElementsByName 和循环
var lols = document.getElementsByName("lol");
var vals=[];
for (var i=0, n=lols.length;i<n;i++) {
  vals.push(lols[i].value);
}
alert(vals.join(","));
于 2012-08-01T13:24:25.033 回答
2

getElementById元素而不是元素,因为它只返回一项。id应该是独一无二的。你可以做一些事情的效果:

var inputs = document.getElementsByTagName("input");
var values = [];
for(var i=0;i<inputs.length;i++){
    if(inputs[i].type === "hidden"){
        values.push(inputs[i].value;
    }
}
于 2012-08-01T13:25:07.067 回答