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

clj7thdc  于 2022-12-03  发布在  jQuery
关注(0)|答案(5)|浏览(176)

我使用的是Jquery Chosen插件。
我的页面上有此多选列表。

<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>

我想通过表单提交通过过帐保存这些选定值。
但是提交时,我只从List中获得最后选择的值。
我知道我可以通过Jquery获得所有选定的值,方法是

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

但是我想在表单提交中得到....如果我做articles_on_this_menu[],那么我就不能以Chosen Plugin的方式得到多选列表

**EDIT:**人们在JS或JQuery解决方案中张贴答案,但我已经说了,请不要使用任何JS或JQuery。我想在表单提交时获得数组中所有选定的值

9avjhtql

9avjhtql1#

在html中使用articles_on_this_menu[]在PHP中可以很好地工作。
如果你在后端使用python,使用这个:(不需要改变html)request.POST.getlist('articles_on_this_menu')分别用于Django和request.form.getlist('articles_on_this_menu')用于flask框架。

jei2mxaa

jei2mxaa2#

已编辑的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>

使用多选名称作为数组name=“articles_on_this_menu[]”然后,您将在提交表单时获得所选选项的数组。
PHP代码:

//Array of selected articles

$selectArticles = isset($_POST['articles_on_this_menu']) 
    ? $_POST['articles_on_this_menu'] 
    : array();
krcsximq

krcsximq3#

使用以下代码-使用:selected - selector

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

zdwk9cvp4#

我希望这是你正在寻找的,我刚刚做了同样的任务,但出于不同的原因。

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']);
brc7rcf0

brc7rcf05#

Abhiram Pappula的答案几乎是完美的,然而,我不得不包括左括号和右括号也实际上得到的列表结果在 flask :
所以与其

request.form.getlist('articles_on_this_menu')

用途:

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

相关问题