gpt4 book ai didi

jquery - 在 jQuery 中序列化复选框

转载 作者:行者123 更新时间:2023-12-03 22:48:17 25 4
gpt4 key购买 nike

我有一个 jQuery 表单,在其中创建了一系列复选框:

<?php
<form method="post" id="b-form" action="../createb.php">
for ($i=0; $i<$request_count; $i++){
<div class="request-check">
<table>
<tr>
<td><input type="checkbox" name="show_request[]" value="request".$i." checked="checked"/>select request</td>
</tr>
</table>
</div>
}

JavaScript

$.ajax({
type: 'POST',
url: '../createb.php',
data: $('#b-form').serialize(),
success: function (msg){
alert(msg);
}
})

目前 createb.php 正在测试表单

  $requests = $_POST['show_request'];
$request_count = count($requests);
echo 'count: '.$request_count;
echo $requests[0];

问题是序列化函数只能看到第一个复选框并指示它是否已被选中。它看不到任何其他复选框。有人知道为什么其他复选框没有被序列化以及该怎么办吗?

谢谢大卫

最佳答案

引自Jquery documentation :只有“成功的控件”才会序列化为字符串(使用 $(form).serialize() 时)或数组($(form).serializeArray())。仅当选中复选框和单选按钮(“单选”或“复选框”类型的输入)中的值时,才会包含它们。

您可以使用类似的东西来模拟与您期望的类似的行为:

var myCbValuesArray = $("input:checkbox").map(function(){
return $(this).is(":checked");
}).get();

关于jquery - 在 jQuery 中序列化复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389050/

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