php - 使用 jQuery 获取表单数组的值

标签 php jquery arrays

我很努力地寻找这个答案,但没有运气。

我在一个表单中有 3 个选择列表。第一个列表已经是表单的一部分,后两个列表是动态添加的。这些选择列表是名为 event_staff[] 的数组的一部分。

<select name="event_staff[]" class="event_staff">
<option value="1">Mark</option>
<option value="2">Sue</option>
</select>

<select name="event_staff[]" class="event_staff">
<option value="1">Mark</option>
<option value="2">Sue</option>
</select>

<select name="event_staff[]" class="event_staff">
<option value="1">Mark</option>
<option value="2">Sue</option>
</select>

用户可以从每个列表中选择一个人,然后通过 AJAX/Json 将其发送到 PHP 脚本,该脚本会迭代数组并将所选人员插入数据库。

我一生都不知道如何访问列表中选定的值并将它们作为数组发送到 PHP 脚本。

因为选择列表是动态创建的,所以我不使用 ID 来访问它们。相反,我依赖于通过名称访问它们的值。

select[name='event_staff[]']

我尝试过此代码,但警报返回空:

var event_staff = new Array();
$("select[name='event_staff[]']:selected").each(function() {
event_staff.push($this).attr('value');
});
alert(event_staff);

谢谢。

解决了以下问题,但不确定它是否漂亮:

var event_staff = new Array();
$('select[name="event_staff[]"] option:selected').each(function() {
event_staff.push($(this).attr('value'));
});

似乎我需要这个选项:selected。虽然这似乎没有创建一个数组,但我已经在分隔符上分解了 PHP 中的变量并以这种方式创建了数组。

最佳答案

var event_staff = [];
$("select[name='event_staff[]'] option:selected").each(function () {
    event_staff.push( this.value );
});
alert(event_staff);

这是 fiddle :http://jsfiddle.net/Rx6Fk/

<小时/>

如果您想要该人的姓名,请使用 .text():

var event_staff = [];
$("select[name='event_staff[]'] option:selected").each(function() {
    event_staff.push( $.text(this) );
});
alert(event_staff);

这是 fiddle :http://jsfiddle.net/Rx6Fk/1/

<小时/>

或者,您可以使用 jQuery 的 .map方法:

var event_staff = $("select[name='event_staff[]'] option:selected").map(function() {
    return $.text(this);
}).get();
alert(event_staff);

这是 fiddle :http://jsfiddle.net/Rx6Fk/2/

关于php - 使用 jQuery 获取表单数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874291/

相关文章:

php - 生成唯一的随机字符串并插入数据库

php - MySQL 删除多列

jquery - 你能解释一下为什么这个 jQuery 代码有效吗?

java - 将数组转换为列表

php - 像 PHP 中的数组查询一样选择

php - 仅在某些连接上出现 400 错误

javascript - 如何通过 li data-val 获取输入隐藏字段中的值

jquery - 使用 jQuery 制作背景 slideDown 的更好方法?

javascript - 如何/最好的方法来创建一个二维数组来存储整数,JQuery/javascript

PHP 以两组为一组对数组进行排序,避免合并具有相同值的项目