【发布时间】:2014-01-03 12:56:56
【问题描述】:
我到处寻找,我知道我使用的方法应该有效,因为许多其他人都问过这个问题并且它有效。
但是,就我自己而言,它似乎不想工作。
问题:为什么我的数组只显示列表中的最后一项?
代码:
表格:
<form id="searchglue" method="post" action="<?=base_url();?>index.php/main/search">
<input type="checkbox" name="colour[]" id="Amber" value="Amber">
<input type="checkbox" name="colour[]" id="Beige" value="Beige">
<input type="checkbox" name="colour[]" id="Black" value="Black">
<input type="checkbox" name="colour[]" id="Brown" value="Brown">
<input type="checkbox" name="colour[]" id="Clear" value="Clear">
<input type="checkbox" name="colour[]" id="Cola" value="Cola">
<input type="checkbox" name="colour[]" id="Cream" value="Cream">
<input type="checkbox" name="colour[]" id="Dark Blue" value="Dark Blue">
<input type="checkbox" name="colour[]" id="Dark Green" value="Dark Green">
<input type="checkbox" name="colour[]" id="Glitter Gold" value="Glitter Gold">
<input type="checkbox" name="colour[]" id="Glitter Green" value="Glitter Green">
<input type="checkbox" name="colour[]" id="Glitter Multicoloured" value="Glitter Multicoloured">
<input type="checkbox" name="colour[]" id="Glitter Red" value="Glitter Red">
<input type="checkbox" name="colour[]" id="Glitter Silver" value="Glitter Silver">
<input type="checkbox" name="colour[]" id="Gold" value="Gold">
<input type="checkbox" name="colour[]" id="Light Blue" value="Light Blue">
<input type="checkbox" name="colour[]" id="Light Brown" value="Light Brown">
<input type="checkbox" name="colour[]" id="Light Green" value="Light Green">
<input type="checkbox" name="colour[]" id="Oak" value="Oak">
<input type="checkbox" name="colour[]" id="Orange" value="Orange">
<input type="checkbox" name="colour[]" id="Pale Amber" value="Pale Amber">
<input type="checkbox" name="colour[]" id="Red" value="Red">
<input type="checkbox" name="colour[]" id="Silver" value="Silver">
<input type="checkbox" name="colour[]" id="White" value="White">
<input type="checkbox" name="colour[]" id="Yellow" value="Yellow">
</form>
结局:
foreach($_POST['colour'] as $r):
echo $r;
endforeach;
我正在使用ajax 来获取我认为错误在于获取所有name 属性的结果,但我不知道如何处理它...
所以这里是ajax:
$('form#searchglue').on('change', function() {
var obj = $(this),
url = obj.attr('action'),
method = obj.attr('method'),
data = {};
obj.find('[name]').each(function(index, value) {
var obj = $(this),
name = obj.attr('name'),
value = obj.val();
data[name] = value;
});
$.ajax({
url: url,
type: method,
data: data,
cache: false,
success: function(response) {
$("#load").html(response);
}
});
return false;
});
无论我做什么,无论是勾选某项,还是完全取消勾选,结果总是黄色(输入列表中的最后一个)。
【问题讨论】:
标签: php jquery ajax forms post