gpt4 book ai didi

php - 无法通过ajax传递复选框的值

转载 作者:可可西里 更新时间:2023-11-01 00:18:45 25 4
gpt4 key购买 nike

我有从数据库收到的表格:

<p id="result"></p> 
<?php
//$id = $_SESSION['staff_id'];

$teamResult = getQuarter($leader_id);
$count1 = 0;
if (mysqli_num_rows($teamResult) > 0)
{
?>

<table id="confirm">
<tr>
<th>1st Quarter</th>
</tr>
<?php
while($row = mysqli_fetch_array($teamResult))
{
$staff_id = $row['staff_id'];
$username = $row['username'];
$date1 = $row['date1']; $fdate1 = $row['fdate1']; $q1 = $row['q1']; $cfm1 = $row['cfm1'];
?>
<tr>
<td>
<?php if($date1 != NULL){
echo "Ev.date: ".$date1."<br/> Fb.date: ".$fdate1.""
."<input type='text' id='stid' name='confirm' class='confirm' value='". $q1. "| " . $staff_id ."'>";
}else {echo "";}
?>
</td>
</tr>
<?php
$count1++;
}
} else {
echo "<h2>No Data to Display</h2>";
}
?>
</table>

此字段是复选框,但我将其更改为文本以查看其值:

<input type='text' id='stid' name='confirm' class='confirm' value='". $q1. "| " . $staff_id ."'>

这是我在表中得到的:

enter image description here

然后我有AJAX功能:

<script>
$(function () {
$(document).on('click', '.confirm', function(){
var stid = $("#stid").val();
$.ajax({
url: "comAssessment/change.php",
method: "POST",
data: {stid: stid},
dataType:"text",
success: function (data) {
$('#confirm').hide();
$('#result').html(data);
}
});
});

});
</script>

和 change.php:

$info = $_POST["stid"];
list($value1,$value2) = explode('|', $info);
echo $value1;
echo "<br/>";
echo $value2;

但问题是我没有得到正确的值。对于第一行和第二行,我得到 1| 1000302。即使对于第二行,也应该是 1| 1000305。这是什么问题,我该如何解决?

最佳答案

ID 必须是唯一的。 $("#stid") 将始终选择具有该 ID 的第一个元素。

您可以简单地使用$(this) 来获取您点击的元素的值。

$(document).on('click', '.confirm', function(){
var stid = $(this).val();
$.ajax({
url: "comAssessment/change.php",
method: "POST",
data: {stid: stid},
dataType:"text",
success: function (data) {
$('#confirm').hide();
$('#result').html(data);
}
});
});

关于php - 无法通过ajax传递复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43908911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com