【发布时间】:2021-07-21 20:21:15
【问题描述】:
我有以下 3 个从 php 数据库填充的复选框。我需要 JQUERY 的帮助,一旦任何选择框被更改,值就会被发布到一个 php 文件并能够通过 JQUERY 返回响应。
每个选择框应该是独立的,仅将复选框值和名称发送到 PHP 文件。
我有下面的 JQUERY 开始发送第一个复选框,但没有得到回复。
需要对JQUERY做哪些修改才能接收其他checkbox的输入然后正确发送数据?
php 文件将使用 if 语句简单地回显“响应是什么”。
感谢任何帮助。
$(document).ready(function() {
$('select.person-1').change(function() {
$.ajax({
type: 'POST',
url: 'lib/positionMarshalProcess.php',
data: {
selectFieldValue: $('select.person-1').val(),
changeCol1: $('input[name$="changeCol1"]').val()
},
dataType: "html",
},
success: function(data) {
var a = data.split('|***|');
if (a[1] == "update") {
$('#msg').html(a[0]);
}
}
});
return false;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name='person-1' class='marshal-select'>
<option value='1'>John Smith</option>
</select>
<input type='hidden' name='changeCol1' value='person-1'>
<select name='qty' class='marshal-select'>
<option value='1'>1</option>
</select>
<input type='hidden' name='changeCol2' value='qty'>
<select name='person-2' class='marshal-select'>
<option value='1'>John Smith</option>
</select>
<input type='hidden' name='changeCol3' value='person-2'>
【问题讨论】:
-
HTML 示例中没有
select.person-1或input[name$="changeCol1"]元素。在$.ajax调用中也有语法错误,因为您已将success放在设置对象之外。检查 devtools 中的控制台以调试该错误。 -
嗨,罗里,谢谢你。您能否澄清 select.person-1 的意思 - 选择名称是 person-1 ?但是我很想学习如何将任意 3 个选择框发布到 JQUERY 而不仅仅是 person-1。
-
.person-1是类选择器,而不是名称选择器。我在下面为您添加了答案。 -
嗨罗里 - 谢谢你。我不知道在哪里放置代码以及添加什么以物理推送到 php 文件,您能帮我添加这些行吗?
-
您好,Rory,感谢您的帮助。能否请您协助我完成发布 PHP 行 ID 的最后一步。我认为这可能必须在一个隐藏的领域。本质上,我正在遍历一个名为“位置”的表并放置所有正确发送的选择框,但选择框的输出需要在数据库的 [positionNo] 中更新。我尝试了一个隐藏字段,但这只会发布第 1 行的 ID,并且不会继续向下。