传递多个复选框值
Passing Multiple Check-box Values
本文关键字:复选框 更新时间:2023-09-26
>我有一个简单的html表单,使用复选框:
<form action="demo_form.asp">
<input type="checkbox" name="test[]" value="t1">
<input type="checkbox" name="test[]" value="t2">
<input type="checkbox" name="test[]" value="t3">
<input type="submit" value="Submit">
</form>
目前,如果我选中多个框并单击提交,服务器端会得到一个如下所示的数组:
[t1,t2,t3]
但我希望服务器为每个复选框开机自检。例如,如果我选中了所有 3 个框,我希望服务器 POST "value=t1",然后再次 POST 表示 "value=t2" 等等。有什么想法吗?
你在原始帖子正文中得到了test[]=t1&test[]=t2&test[]=t3
。PHP 只是简单地将其处理成一个数组,因为名称中有[]
。
如果您不想要数组,则不要使用 []
。你会得到一个原始的帖子 test=t1&test=t2&test=t3
,但$_POST['test']
将只包含 t3
,因为这将是该特定键名称的帖子正文中的 LAST 值。
例如,
您需要创建一个新函数
myArray = [t1,t2,t3];
for (var j in myArray){
dynamicPost()
}
function dynamicPost(val){
$.ajax({
type: "POST",
url: url+val,
data: data,
success: success,
dataType: dataType
});
}
通过这种方式,您可以为每个值创建新帖子。 我会工作,或者如果您在后端收到此数组与您需要为每个值创建一个 for 并制作流程的过程相同,如果我有更多信息,我会为您提供更多帮助
<form action="demo_form.asp">
<input type="checkbox" name="value1" value="t1">
<input type="checkbox" name="value2" value="t2">
<input type="checkbox" name="value3" value="t3">
<input type="submit" value="Submit">
尝试为每个复选框使用不同的名称
似乎您正在尝试实现的目标不能仅在PHP中完成,而是借助一些javascript魔法,它将侦听每个复选框的检查/取消选中事件,然后发送ajax请求。这是如何做到这一点:
更改复选框名称,并使用通用类使它们唯一:
<form action="demo_form.asp">
<input type="checkbox" name="test1" value="t1" class="checkIt">
<input type="checkbox" name="test2" value="t2" class="checkIt">
<input type="checkbox" name="test3" value="t3" class="checkIt">
<input type="submit" value="Submit">
</form>
然后侦听复选框事件:
$(document).ready(function() {
$('.checkIt').bind('click', function() {
var name = $(this).attr('name');
var value = $(this).val();
var status;
if ($(this).is(":checked")) {
status = 'checked';
// checkbox is checked
console.log("Checkbox is checked. Name: " + name + " Value: " + value);
} else {
status = 'unchecked';
// checkbox is not checked
console.log("Checkbox is NOT checked. Name: " + name + " Value: " + value);
}
$.get("demo_form.asp?status=" + status + "&name=" + name + "&value=" + value, function(data) {
//Your server response here
});
});
});
这是一个小提琴供您玩:(打开您的控制台)
https://jsfiddle.net/ismaakeel/ejscjw3y/4/
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- 如何从javascript/jquery中的复选框中获取布尔值
- 在Ajax中捕获复选框值
- 显示隐藏复选框
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- jquery中的复选框依赖项