我的PHP代码中有这段代码:
while ($row = mysqli_fetch_assoc($result))
{
extract($row);
echo "<tr>";
echo "<td bgcolor='#FFFFFF'><input id='bookArray[]' name='bookArray[]' type='checkbox' value='$book_id' />$book_id</td>";
echo "<td bgcolor='#FFFFFF'>$threat_name</td>";
echo "</tr>";
}
Run Code Online (Sandbox Code Playgroud)
在HTML页面中,我想使用jQuery serialize()方法在bookArray []中发送所选书籍的数组.在我的JavaScript中,
var selectedbooks = $("book_form").serialize();
alert (selectedbooks);
Run Code Online (Sandbox Code Playgroud)
在警告消息框中,我没有得到任何值(空字符串).
以前当我使用Prototype时,它工作得很好.
小智 22
简单: serialize().replace(/%5B%5D/g, '[]')
我想出了一种方法,当使用post发送数据时
另一方面,您可以使用访问元素 $_['post']['name']
如果它是一个数组(例如,多选),那么在您的服务器上,您可以再次以数组的形式访问它 $_POST['myselect'][0]...
代码: 用于序列化帖子的表单数据的函数
function serializePost(form) {
var data = {};
form = $(form).serializeArray();
for (var i = form.length; i--;) {
var name = form[i].name;
var value = form[i].value;
var index = name.indexOf('[]');
if (index > -1) {
name = name.substring(0, index);
if (!(name in data)) {
data[name] = [];
}
data[name].push(value);
}
else
data[name] = value;
}
return data;
}
Run Code Online (Sandbox Code Playgroud)
您可能需要按照@Tomalak的建议更改您的PHP,但您还需要更改您的javascript。要引用命名元素,请使用#name选择器:
var selectedbooks = $('form#book_form').serialize();;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79709 次 |
最近记录: |