所以我有一个多项选择,我已经用js改编而没有CTRL键
$(function(){
$('.select-toggle').each(function(){
var select = $(this), values = {};
$('option',select).each(function(i, option){
values[option.value] = option.selected;
}).click(function(event){
values[this.value] = !values[this.value];
$('option',select).each(function(i, option){
option.selected = values[option.value];
});
});
});
});
我在多个输入字段上使用它,下面是一个例子。
<tr class="wide">
<td class="input titledinput" style="left: -5px;"><select title="Please select the Consoles/Platforms the game is going to be, or has, released on. You can select more than one."
multiple="multiple" class="select-toggle roundedcorners" name="Consoles" size="1"
/>';
$qselectconsole = "SELECT * FROM console ORDER BY Console asc";
$rselectconsole = mysqli_query($dbc, $qselectconsole);
if(mysqli_num_rows($rselectconsole) !== false){
while($rowselectconsole = mysqli_fetch_array($rselectconsole, MYSQLI_ASSOC)){
echo '<option value="'.$rowselectconsole['ConsoleID'].'">'.$rowselectconsole['Console'].'</option>';
}
} else {
echo '<option value="0">Something went wrong, please try refreshing the page</option>';
}
echo '</select>
<p2>Platform</p2></td>
</tr>
多选按预期工作。 现在我希望$ _POST ['控制台']在这种情况下输出每个选定值的值。但是当我使用$ _POST ['控制台']时,它只输出要选择的最后一个变量。我将如何获取所有选定的值(因为我稍后需要它们来输入数据库)。
如果需要,我愿意对我的JS进行彻底的改革,我是一个没有经验的javascript程序员,老实说,当谈到js时,我真的不知道我在做什么。我将学习,但如果我做了一些愚蠢的事情,这意味着我只能选择多个选项,但不能存储每个值,请告诉我。
答案 0 :(得分:1)
首先,您需要更改var的名称:
name="Consoles"
使用:
name="Consoles[]"
这将使php能够将所有选项放入一个“数组”中 现在如果你在php上写道:
print_r ($_POST['Consoles']);
您可以在html页面上看到每个var。