我通过<ng-container *ngIf="column=='actions'; else noSort">
<mat-header-cell *matHeaderCellDef mat-sort-header />
</ng-container>
<ng-template #noSort>
<mat-header-cell *matHeaderCellDef />
</ng-template>
循环循环了sql select行的输出。每行都有自己的形式。只有第一种形式有效。其他表格只是刷新页面,并显示所有结果。在表单上提交
通过AJAX update.php函数被执行。它仅在第一个输入字段起作用,不知道如何触发其他人。
PHP
while
JS
echo " <div class=\"col-6 flex-vcenter-items fs-1\">
<form id='form".$row["id"]."' action='' method='POST'>
<input id='id' name='potnik' value='".$row["id"]."' type='hidden' />
<input id='cas' class=\"form-control cas".$row["id"]." fancy-border\" type=\"text\" name=\"posodobljeni_cas\"/>
<input class='btn btn-outline-primary' id='submit' type='submit' value='Nastavi uro'>
<label id=\"info\"></label>
</form>
</div>";
答案 0 :(得分:3)
基本的HTML规则是每个元素都有unique
id,因为您正在循环创建forms
,所以我将使用classes
而不是id's
echo " <div class=\"col-6 flex-vcenter-items fs-1\">
<form class='form' data-id='".$row["id"]."' action='' method='POST'>
<input name='potnik' value='".$row["id"]."' type='hidden' />
<input class=\"form-control cas".$row["id"]." fancy-border\" type=\"text\" name=\"posodobljeni_cas\"/>
<input class='btn btn-outline-primary' type='submit' value='Nastavi uro'>
<label class=\"info\"></label>
</form>
</div>";
现在我将根据类更改jQuery代码:-
$( document ).ready(function() {
$('input[type=submit]').on('click', function (e) {
e.preventDefault();
var obj = $(this);
let idrow = obj.closest("form").data('id'); // i have used data-id in forms
let updaterow = "update.php?id=";
$.ajax({
type: 'post',
url: updaterow + idrow,
data: obj.closest("form").serialize(),
success: function () {
//change these code also based on classes
console.log('ura posodobljena');
console.log("Prejšnji čas",$("#id-ura"+idrow).text());
$("#id-ura"+idrow).replaceWith( $(".cas"+idrow).val() );
console.log("Novi čas",$(".cas"+idrow).val());
}
});
});
});