В одной таблице есть поля с кнопкой добавления строки. Я использую событие onchange для вызова данных из других таблиц , поэтому, когда я выбираю опцию в окне опций, можно автоматически получить значение, выбранное ранее (do not need input the value manually).
Затем я добавляю строку в ту же таблицу, и после этого выбираю один вариант обратно в поле и получаю разные значения от первого, the problem is the values obtained appear in the first box, not in the second box.
Для примера 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);
}
Если имя идентификатора «точка» изменилось на «точка2», то значение появится во втором блоке, но значение в первом блоке отсутствует.
Поэтому я попытался выполнить цикл, чтобы получить значение имени идентификатора: точка, точка2, точка3 и т. Д. (В зависимости от того, сколько нужно добавить строк).
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, точке3 и т. Д.
Есть какой-то неправильный сценарий, который я сделал? Нужна большая помощь м (_ _) м.
Спасибо.
Обновление: это для решенных.
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);
}