我正在使用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>
我想通过FORM submit来保存这些SELECTED值。
但提交后,我只从List中获取最后一个选定的值。
我知道我可以通过Jquery获取所有选定的值
var articles_on_this_menu= $("#articles_on_this_menu").val()
但是我想进入FORM提交....如果我articles_on_this_menu[]
那么我就不会以Chosen Plugin
方式获取MultiSelect列表
修改 人们在JS或Jquery解决方案中发布答案,但我已经说过,我不想使用任何JS或JQuery。我希望在Form Submit
中的Array中获取所有选定的值答案 0 :(得分:1)
已编辑的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();
答案 1 :(得分:0)
我希望这是你正在寻找的,我刚刚做了同样的任务,但出于不同的原因。
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']);
答案 2 :(得分:0)
使用以下代码 - 使用:selected - selector
var selectedValueArray= [];
$('#articles_on_this_menu :selected').each(function(i, selected){
selectedValueArray[i] = $(selected).text();
});
答案 3 :(得分:0)
在html中使用articles_on_this_menu[]
在PHP中运行良好。
如果你在后端使用python,请使用:(无需更改html)
Django和request.POST.getlist('articles_on_this_menu')
request.form.getlist('articles_on_this_menu')
分别用于烧瓶框架。