[求助]说明可以在底部找到。
我试图在动态创建的表行中处理动态ID时遇到困难。我已经解决了如何使用PHP将这些动态数据上传到MySQL数据库。你能帮帮我吗?
我有一个静态表头和一个静态第一行,用户可以动态添加行。
这是我简化的HTML:
<table>
<tr>
<th> first </th>
<th> second </th>
<th> third </th>
<th> fourth </th>
<th> fifth </th>
</tr>
<tbody>
<tr id="1">
<td><select (need an onchange="something()" here) name="product_name[]"> <option>listed by php from sql</option>
<td ><p> Here comes the UNIT depending on the first cell of the row</p></td>
<td> other input fields ... </td>
<td>button which adds a new row, cloneing the last row's style</td>
</tr>
</tbody>
</table>
我的javascript:
function addRow(tableID, o)
{
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.id = parseInt(table.rows[rowCount-1].id)+parseInt(1);
var colCount = table.rows[rowCount-1].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[rowCount-1].cells[i].innerHTML;
}
o.style.display = "none";
var x = document.getElementsByName()
}
问题是......
当用户更改行的元素值时,同一行的其他单元格会发生变化,这怎么可能呢? 我使用AJAX直到我必须使表动态,但现在我不知道如何继续。我只需要一些片段或提示,因为我完全不知道如何为每行中的给定单元格提供动态ID,然后如何处理它。我需要一些解决方案,比如我在PHP中处理它(处理表的输入):
使用PHP代码:
if ($_POST['submit']) {
$cname = $_POST['customer_name'];
$place = $_POST['product_place'];
$date = $_POST['product_date'];
$cassa = $_POST['customer_cassa'];
$name = $_POST['product_name'];
$amount = $_POST['product_price'];
$price = $_POST['product_price'];
foreach($name as $a => $b){
$sql = "INSERT INTO bevetelezes (vasarlo, helyszin, datum2, termek, mennyiseg, kassza) VALUES ('$cname', '$place', '$date', '$name[$a]', '$amount[$a]', '$cassa') ";
if ($r = $conn->query($sql) == TRUE) {
非常感谢您的回复! 最好的祝福, 佐尔坦
描述: 好吧,我自己解决了,它比我想象的要容易。如果有人对此感兴趣,这是解决方案:
在我的桌子内:
<select onchange="get_unit(this.value, this)" required="required" name="t_neve[]">
javascript函数,用于搜索给定行中的classname单元并从中调用单元 数据库并写下来。
function get_unit(str, object) {
var row = object.parentNode.parentNode;
var a = row.getElementsByClassName("unit");
var x = a[0];
var xhttp;
if (str == "") {
x.innerHTML = '<p class="text-left">----</p>';
return;
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
x.innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "ajax_ujbevetel.php?q="+str, true);
xhttp.send();
}
ajax修改的单元格:
<td width="65%">
<div class="unit">
<p class="text-left">----</p>
</div>
/td>