有一个表中包含添加行按钮的字段。我使用onchange事件来调用其他表数据,所以较早(do not need input the value manually).
后来我在同一个表中添加行,当我选择在选项框中选择一个选项可以自动获得已选择的值之后,我选择一个选项放回盒子选项,并从第一个得到不同的值,the problem is the values obtained appear in the first box, not in the second box.
如何根据onchange事件的序列ID名称获取值?
对于HTML例如:
<table id="table">
<tr>
<td>No</td>
<td>Name</td>
<td>Class</td>
<td>Point</td>
<td>Action</td>
</tr>
<tr>
<td>1</td>
<td><select name="name">
<option value="#"> </option>
<?php
opendb();
$query = "SELECT * FROM student";
$result = mysql_query($query);
while($data = mysql_fetch_array($result)){
$ID = $data['ID'];
$Name = $data['Name'];
echo "<option value='$ID'>$Name</option>";
}
?>
</select>
</td>
<td><select name='class' onchange="choosepoint(this);">
<option value="#"> </option>
<?php
opendb();
$query = "SELECT * FROM student2";
$result = mysql_query($query);
while($data = mysql_fetch_array($result)){
$ID1 = $data['ID'];
$class = $data['Class'];
echo "<option value='$ID'>$class</option>";
}
?>
</select>
</td>
<td>
<div id="point" name="point"></div>
</td>
<td><input type="button" value=" + " onClick="addRowToTable();"> | <input type="button" value=" - " onClick="removeRowFromTable();"></td>
</tr>
</table>
我正在寻找,这个问题我发现这里:
function choosepoint(combobox)
{
var kode = combobox.value;
if (!kode) return;
xmlhttp.open('get', '../template/get_point.php?kode='+kode, true);
xmlhttp.onreadystatechange = function() {
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
{
document.getElementById("point").innerHTML = xmlhttp.responseText;
}
return false;
}
xmlhttp.send(null);
}
如果ID名称为“点”改成“点2”,那么该值将出现在第二个框,但在第一个框中的值丢失。
于是,我就循环,以获得ID名称的值是点,点2,POINT3等(根据需要多少添加行)。
function choosepoint(combobox)
{
var kode = combobox.value;
if (!kode) return;
xmlhttp.open('get', '../template/get_point.php?kode='+kode, true);
xmlhttp.onreadystatechange = function() {
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
{
Var tbl = document.getElementById("table");
var r = tbl.length;
var i = r;
document.getElementById("point"+ i).innerHTML = xmlhttp.responseText;
}
return false;
}
xmlhttp.send(null);
}
我已经得到的结果为空或没有价值,不能运行或不能获得的价值是点,点2,POINT3等 有没有办法,我做了任何脚本错误?需要大帮忙m(_ _)m。
谢谢。
更新:这是对解决。
function choosepoint(combobox)
{
var kode = combobox.value;
if (!kode) return;
xmlhttp.open('get', '../template/get_point.php?kode='+kode, true);
xmlhttp.onreadystatechange = function() {
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
{
var tbl = document.getElementById("table");
var r = tbl.rows.length;
var add = document.getElementById("point"+r);
add.innerHTML = xmlhttp.responseText;
}
return false;
}
xmlhttp.send(null);
}
你可以减少你的问题到一个更简单的形式?我无法追随你真正要求的。请提供简单的步骤来描述您在网页上执行的操作,调用哪些代码以及您期望得到但未得到的结果。 – jfriend00 2012-01-29 07:52:23
@ jfriend00好的,这里是例子:(如你在桌子上看到的那样)。 1号我将选择AAA的名称,然后选择II的类,当我选择在II类,我会自动在100.00(here the point will appear)手动拿到一分没有我的输入值(当然通过,如果要使用的onchange会发生)。 – candies 2012-01-29 09:22:19
@ jfriend00然后当我想添加行时,会有数字2的权利?所以No 2我会选择BBB作为名字,选择III作为课程,然后当我在课堂上选择III时,我得到的点将出现在80.00(here)。有两个不同点的数据,第一个是100.00和第二个80.00, 2. Nuh,我的问题和问题是No.2中包含的结果点是80.00,它不是完全出现在No.2,但它确实出现在No.1。因为我们知道我们在1号点得到的点是100.00 。 那么如何解决每个数据或数字都有自己的观点? – candies 2012-01-29 09:23:00