感谢托马拉克。
在 PHP 文件中,我现在使用以下代码:
while ($row = mysqli_fetch_assoc($result)) {
extract($row);
echo "<tr>";
echo "<td bgcolor='#FFFFFF'><input id='$book_id' name='bookArray[]' type='checkbox' value='$book_id' />$book_id</td>";
echo "<td bgcolor='#FFFFFF'>$book_name</td>";
echo "</tr>";
} // while
**book_id 是唯一的。
使用 tvanfosson 解决方案,现在我可以获得输入值数组
var selectedBooks = $('form#book_form').serialize();
警报(选定的书籍);
从警报消息框中,我得到 ==> bookArray%5B%5D=T2.05&bookArray%5B%5D=T2.81
现在,当我使用 JQuery 将序列化输入值发送到 PHP 文件时
var selectedBooks = $('form#book_form').serialize();
alert (selectedBooks);
var url = 'saveBookList.php';
// Send to server using JQuery
$.post(url, {bookArray: selectedBooks}, function(responseData) {
$("#save-result").text(responseData);
});
在 saveBookList.php 中处理序列化表单,我收到了这个错误
“为 foreach() 提供的参数无效”。
在 saveBookList.php 中,
// If you have selected from list box.
if(isset($_POST['bookArray'])) {
// Get array or bookID selected by user
$selectedBookId = $_POST['bookArray'];
echo $selectedBookId;
foreach($selectedBookId as $selectListItem) {
echo "You sent this -->" . $selectListItem . "\n";
}
}
如果我使用 Prototype 发送,上面的 PHP 代码可以正常工作。
当我做原型时
echo $selectedBookId;
我得到了数组。
对于 JQuery,当我这样做时
echo $selectedBookId;
我得到了 ==>
bookArray%5B%5D=T4.11&bookArray%5B%5D=T4.38
我的问题,jQuery 是否支持 post 方法的数组值?