multipleselect用在form提交页面中如何获取选中的值?

问题描述

form表单中有multipleselect控件,但是获取不了值?

问题出现的环境背景及自己尝试过哪些方法

直接在js中操控

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
$('#multiselect').change(function(){

         $('select :selected').each(function() {
            str +=','+$(this).val();
         });
         //把str作为form中action的参数
});

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 4.2k
1 个回答

http://api.jquery.com/val/ 官方文档中有如下描述信息

When the first element in the collection is a select-multiple (i.e., a select element with the multiple attribute set), .val() returns an array containing the value of each selected option. As of jQuery 3.0, if no options are selected, it returns an empty array; prior to jQuery 3.0, it returns null.

因此下面的代码可以拿到选中的值

<select id="elem" multiple="multiple">
    <option>...</option>
    ...
</select>
var values = $('#elem').val();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏