使用 php 获取 html 选项中的多个选定值
Get the multiple selected values in the html option with php
我在 HTML 和 PHP 选项中获取多个选定值时遇到问题。
下面是我的编码,我只能在选项中选择1个值来得到下面的编码结果:
如果$jenis_mesyuarat
是单值,我可以得到选中的值。如果 $jenis_mesyuarat
是多个值,例如 3,4,9
,我无法获得多个选定的值。
<select id="pengguna_sambung" name="pengguna_sambung" title="pengguna" class="form-control" multiple>
<?php
$sql_user = 'SELECT * FROM user where is_active=1';
$row_user = base_mysqli_select($sql_connection, $sql_user, $types, $values);
foreach ($row_user as $val_user) {
$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');
echo '<option value="' . $val_user['id'] . '" ' . $selected . '>' . $val_user['name'] . '</option>';
}
?>
</select>
Javascript
$(document).ready(function(){
$('#pengguna_sambung').multiselect({
nonSelectedText: 'Pilih ahli-ahli',
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
buttonWidth:'100%'
});
});
我试过$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');
这段代码定义选择值,只能选择单个值,不能选择多个值。
希望有人能指导我如何解决这个问题。谢谢。
试试这样的东西:
$selected = explode(',', $jenis_mesyuarat);
$selected = (in_array($val_user['id'], $selected) ? 'selected="true"' : '')
Note that above is just an example, and it should be further optimized by yourself, like, ensure $jenis_mesyuarat
is an array
from the beginning (instead of using explode
each time you need one).
我在 HTML 和 PHP 选项中获取多个选定值时遇到问题。
下面是我的编码,我只能在选项中选择1个值来得到下面的编码结果:
如果$jenis_mesyuarat
是单值,我可以得到选中的值。如果 $jenis_mesyuarat
是多个值,例如 3,4,9
,我无法获得多个选定的值。
<select id="pengguna_sambung" name="pengguna_sambung" title="pengguna" class="form-control" multiple>
<?php
$sql_user = 'SELECT * FROM user where is_active=1';
$row_user = base_mysqli_select($sql_connection, $sql_user, $types, $values);
foreach ($row_user as $val_user) {
$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');
echo '<option value="' . $val_user['id'] . '" ' . $selected . '>' . $val_user['name'] . '</option>';
}
?>
</select>
Javascript
$(document).ready(function(){
$('#pengguna_sambung').multiselect({
nonSelectedText: 'Pilih ahli-ahli',
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
buttonWidth:'100%'
});
});
我试过$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');
这段代码定义选择值,只能选择单个值,不能选择多个值。
希望有人能指导我如何解决这个问题。谢谢。
试试这样的东西:
$selected = explode(',', $jenis_mesyuarat);
$selected = (in_array($val_user['id'], $selected) ? 'selected="true"' : '')
Note that above is just an example, and it should be further optimized by yourself, like, ensure
$jenis_mesyuarat
is anarray
from the beginning (instead of usingexplode
each time you need one).