我正在使用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[]')