通过表单提交获取选择列表的所有选定值 - Jquery Selected



我正在使用Jquery Selected Plugin。

我的主页上有这个多选列表。

<select name="articles_on_this_menu" multiple="multiple" data-placeholder="Choose Articles" id="articles_on_this_menu">
    <option value="27" selected="selected">Join Team</option>
    <option value="11">Faislabad</option>
    <option value="12">Peshawar</option>
    <option value="28" selected="selected">Track your Order</option>
    <option value="34" selected="selected">AboutUS2</option>
</select>

我想通过表单提交发布来保存这些选定的值。

但是提交时,我只从列表中获取最后一个选择的值。

我知道我可以通过 Jquery 通过以下方式获取所有选定的值

var articles_on_this_menu= $("#articles_on_this_menu").val()

但是我想进入表格提交....如果我这样做articles_on_this_menu[]那么我不会以Chosen Plugin方式获得多选列表

编辑:人们在JS或Jquery解决方案中发布答案,但我已经说过我不想使用任何JS或JQuery。我想在提交表单时获取数组中的所有选定值

在 html 中使用 articles_on_this_menu[] 在 PHP 中工作得很好。

如果你在后端使用 python,请使用这个:(不需要更改 html) request.POST.getlist('articles_on_this_menu') 为 Django 和 request.form.getlist('articles_on_this_menu')分别用于烧瓶框架。

编辑的HTML代码:

 <select name="articles_on_this_menu[]" multiple="multiple" data-placeholder="Choose Articles" id="articles_on_this_menu">
        <option value="27" selected="selected">Join Team</option>
        <option value="11">Faislabad</option>
        <option value="12">Peshawar</option>
        <option value="28" selected="selected">Track your Order</option>
        <option value="34" selected="selected">AboutUS2</option>
    </select>

使用多选名称作为数组名称="articles_on_this_menu[]"然后,您将在提交表单时获得一系列选定的选项。

PHP代码:

//Array of selected articles
$selectArticles = isset($_POST['articles_on_this_menu']) 
    ? $_POST['articles_on_this_menu'] 
    : array();

使用以下代码 - 使用 :选择 - 选择器

var selectedValueArray= []; 
$('#articles_on_this_menu :selected').each(function(i, selected){ 
  selectedValueArray[i] = $(selected).text(); 
});
我希望

这就是你要找的,我让 jus 做了同样的任务,但原因不同。

 var data = {'cat_ids[]' : []};
        $('select').find('option:selected').each(function(){                    
                data['cat_ids[]'].push($(this).val());                  
        }); 
var posting = $.post("you url here",data);
        posting.done(function( data ){
            $('ID/Class').empty().append(data);
            }); 

在您的PHP文件中,您可以获取内容

 print_r($_POST['cat_ids']);

Abhiram Pappula 的答案几乎是完美的,但是,我还必须包含左括号和右括号才能在 Flask 中实际获得列表结果:

所以而不是

request.form.getlist('articles_on_this_menu')

用:

request.form.getlist('articles_on_this_menu[]')

最新更新