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

这个答案看起来很难,但是没有运气。

我在表格中有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);

这是小提琴:http://jsfiddle.net/Rx6Fk/

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

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

这是小提琴: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);

这是小提琴:http://jsfiddle.net/Rx6Fk/2/

PHP:获取调用引用的数组名称 - php

假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…

PHP-MySQL结果转换为JSON - php

我试图了解如何将MySQL结果转换为JSON格式,以便以后可以在Javascript中使用此JSON来构建HTML表。但是我的代码只是产生大量的空值,我还不明白为什么。$result = mysqli_query($con, "SELECT * FROM Customers"); $test = json_encode($result);…

PHP Count数组元素 - php

嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…

PHP:将数据从二维数组复制到一维数组的最快方法 - php

我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…