为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
跃然一笑 2023-05-12 14:51:37
我可以在 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[]"];
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

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


- 创建函数,从 select 中过滤未选择的值,并使用 unselectedFruit[] 名称为 PHP 数组创建新的隐藏输入。

- 为更改创建侦听器并重新计算选择选项。


// 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();

});


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信