从 php 形式的多个选择中发布未选择的选项



我可以在PHP中获取我的selectedFruit数组,但是如何使用js或jquery填充隐藏的输入,以便我完成目标?

<form id="my_form" action method="post">
<select name="selectedFruit[]" multiple="multiple">
<option value="1">Orange</option>
<option value="2">Grape</option>
<option value="3">Apple</option>
<option value="4">Watermelon</option>
</select>
<input hidden name="unselectedFruit[]">
<button type="submit">Submit</button>
</form>

我的目标是在我的 PHP 文件中执行此操作:

$selected_array_fruit = $_POST["selectedFruit[]"];
$unselected_array_fruit = $_POST["unselectedFruit[]"];

如果更改了选择,则可以创建新的输入值。

- 创建函数,从选择中过滤未选择的值,并为PHP数组创建具有unselectedFruit[]名称的新隐藏输入。 - 创建用于更改的侦听器并重新计算选择选项。

// this is for explain and by default is truncated and filtered by selector
// option:selected and remove the line 'skip selected'
const loadSelectUncheckedValues = function() {
$('[name="unselectedFruit[]"]').remove(); // clean all
$('select[name="selectedFruit[]"] option').each(function() {
if($(this).is(':selected')) return; // skip selected
$('#my_form').append('<input type="hidden" name="unselectedFruit[]" value="'+$(this).val()+'" />');
});
}
// init
loadSelectUncheckedValues();
$('select[name="selectedFruit[]"]').on('change', function() {
loadSelectUncheckedValues();
});

最新更新