动态添加name属性相同的select2标签多选下拉框 如何取值和赋值 10C

问题描述:
所有下标值混合一块 ;

需要实现的效果:
心 肺 小肠 对应id 分别1、2、3 作为一组 xuewei_id[0]
第二行 对应下标为 xuewei_id[1]

图片说明

图片说明
图3 这个是直接接受 select2 标签的穴位id

图片说明
js代码

 // 显示修改关键字症状界面
function updateView(id, system_id) {
    $("#btntype").val(1);

    $("#Submit1").click(function() {
        add(1);

    });

    $
            .ajax({
                type : "POST",
                url : "/erzhentang/manage/forAjax.do?requestType=12.1",
                data : "id=" + id + "&system_id=" + system_id, // 发送到服务器的数据默认id是结论id
                success : function(msg) {
                    $("#xuewei_id").val("1,2,3").select2();
                    /* alert(msg); */
                    var json = eval('(' + msg + ')');
                    document.getElementById("addModel").style.display = "block";
                    document.getElementById("id1").value = json.earScanJielun.id;
                    document.getElementById("system_id1").value = json.earScanJielun.system_id;
                    /* 遍历所属系统下所有 耳穴频扫疾病项 */
                    var arrESJ = eval(json.listEarScanJibing);// arrESJ是一个数组
                    var checkESJ = document.getElementById("jibing_num1");
                    var str2 = "";
                    for (var j = 0; j < arrESJ.length; j++) {
                        str2 += "<option value=\"" + arrESJ[j].jibing_num
                                + "\">" + arrESJ[j].name + "</option>";
                        var checkESJ2 = arrESJ[j].name;
                        if (arrESJ[j].jibing_num == json.earScanJielun.jibing_num) {// 疾病编号人为控制每个编号都是唯一
                            arrESJ[j].name = "selected='selected'";
                        }
                        $("#jibing_num1").html(str2);
                    }
                    document.getElementById("jibing_num1").value = json.earScanJielun.jibing_num;
                    document.getElementById("jielun_rank1").value = json.earScanJielun.jielun_rank;
                    document.getElementById("jielun1").value = json.earScanJielun.jielun;
                    /* 下半截部分组合表动态展示修改和添加 */
                    var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表
                    var str = "";
                    var str1 = "";
                    for (var i = 0; i < arrESC.length; i++) {
                        str += "<tr>";
                        str += "<td colspan=\"8\">";
                        str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">";
                        str += "<div style=\"float: left;\">";
                        str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >"
                                + arrESC[i].id + "</textarea>";
                        str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >"
                        var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签
                        /*
                         * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客
                         * 所有展示项目为主表客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表
                         */
                        var str1 = "";
                        for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它
                            // alert("j值:" + myselect.options[j].value);
                            str += "<option value=\""
                                    + myselect.options[j].value
                                    + "\" "
                                    + (myselect.options[j].value == arrESC[i].gender ? "selected='selected'"
                                            : "") + ">"
                                    + myselect.options[j].text + "</option>";
                        }
                        "</select>";
                        str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >"
                                + arrESC[i].min_age + "</textarea>";
                        str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >"
                                + arrESC[i].max_age + "</textarea>";
                        // str += "<textarea style=\"width:
                        // 300px;margin-left:10px;\" id=\"xuewei_id\"
                        // name=\"xuewei_id\" >"
                        // + arrESC[i].xuewei_id + "</textarea>";
                        // str +="<div id=\"selectSection\">";
                        /*
                         * id=\"xuewei_id\"
                         */
                        str += "<textarea  style=\"width:300px;margin-left:10px;display:none;\" id=\"xuewei_id1\" name=\"xuewei_id1\" >"
                                + arrESC[i].xuewei_id + "</textarea>";
//                      str += "<div id=\"selectSection\" name=\"selectSection\">";
                        str += "<select style=\"width: 300px;margin-left:10px;\"  name=\"xuewei_id\"class=\"combox\" multiple >"
                        str += "<optgroup label=\"小辈儿组\">";
                        str += "<option value=\"1\" " + "selected='selected'"
                                + ">心</option>";
                        str += "<option value=\"2\" " + "selected='selected'"
                                + ">" + "肺" + "</option>";
                        str += "<option value=\"3\" " + "selected='selected'"
                                + ">" + "小肠" + "</option>";
                        str += "<option value=\"4\">" + "口" + "</option>";
                        str += "<option value=\"5\">" + "食道" + "</option>";
                        str += "</optgroup>";
                        // str += "</div>";
                        /* 进一步转换频扫组合表穴位id字符串转array数组 */

                        /*
                         * var strXueweiId = arrESC[i].xuewei_id; var
                         * arrayXueweiId = strXueweiId.split(",");
                         * 
                         * for (var j = 0; j < arrayXueweiId.length; j++) { str2 += "<option
                         * value=\"" + arrayXueweiId[j].value + "\">" +
                         * arrayXueweiId[j].value + "</option>"; var checkESJ2 =
                         * arrayXueweiId[j].name; if (arrayXueweiId[j] == 5) {
                         * arrayXueweiId[j] = "selected='selected'"; }
                         * $("#jibing_num1").html(str2); }
                         */
                        "</select>";
                        //
                        // $("#xuewei_id").val("1,2,3").select2();

                        str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >"
                                + arrESC[i].chuzhen_id + "</textarea>";
                        str += "<select style=\"width: 60px;height: 36px;margin-left: 10px;\" id=\"bp\" name=\"bp\" >"
                        var myselect1 = document.getElementById("bp");// 这个获取的是静态jsp页面里标签
                        for (var k = 0; k < myselect1.options.length; k++) {// 下拉框是主家从静态页面获取并且遍历它
                            // alert("j值:" + myselect1.options[k].value);
                            str += "<option value=\""
                                    + myselect1.options[k].value
                                    + "\" "
                                    + (myselect1.options[k].value == arrESC[i].bp ? "selected='selected'"
                                            : "") + ">"
                                    + myselect1.options[k].text + "</option>";
                        }
                        "</select>";
                        str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"jielun_conform\" name=\"jielun_conform\">"
                                + arrESC[i].jielun_conform + "</textarea>";
                        str += "</div>";
                        str += "<div >";
                        str += " <input type=\"button\" onclick=\"delRow(this,"
                                + arrESC[i].id
                                + ","
                                + arrESC[i].bianzhengId
                                + ")\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">";
                        str += "</div>";
                        str += "</div>";
                        str += "</td>";
                        str += "</tr>";
                        /* 替换静态页面 */
                        $("#tbody1").html(str);

                        select2Execute();
                    }

                }
            });
}

执行select2方法

 /* 执行select2方法 */
function select2Execute() {

    $(function() {

        $("select[name='xuewei_id']").select2({
            // $('select[id="xuewei_id"]').select2({
            // $('#xuewei_id').select2({
            // $("#selectSection").find("select.combox").select2({
            // $(".select2-selection__choice").select2();
            // $(".combox").select2({

            placeholder : "请至少选择一个人名",
            tags : true,
            createTag : function(decorated, params) {
                return null;
            },
            width : '256px'
        });

        function formatState(state) {
            if (!state.id) {
                return state.text;
            }
            var $state = $('<span>' + state.text + '</span>');
            return $state;
        }
        ;

        $('#sel_recommender').select2({
            placeholder : "请选择一个人名",
            templateResult : formatState,
            width : '256px'
        });
        alert($("select[name='xuewei_id']").select2('data')[0].text);

        // $("#selectSection").find("select.xuewei_id").val();
        // document.getElementById("selectSection").value=$("select[name='xuewei_id']").select2('data');
        $("#xuewei_id1").val(
                $("select[name='xuewei_id']").select2('data'));//赋值给textarea隐藏的标签
        alert($("#xuewei_id1").val());
    });
}
0

3个回答

把一组数据拼接成的ID拼接成一个字符串(需要能识别这个ID代表的是什么数据),用一定的分隔符分开,这样就跟别的ID一样了,之后后台解析。

0

取值:$("select[name=xx]").value()
赋值:$("select[name=xx]").value(targetValue)

0
给html自定义一个标签叫 name-re

var m1 = $("select[name-re='1']").val();取值
var m2 = $("select[name-re='1']").val('123'); //赋值
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
select2多选设置select多选,select2取值和赋值
select2设置select多选,select2取值和赋值,作为筛选条件的时候,取值相对简单,把选中的id值转为字符串传给后端查询,查询之后会刷新页面,为了在下拉框中显示刚刚选中的值,就需要给select赋值,可以将刚才传给后端的字符串再传回前端,然后转为一位数组,再赋值给select2就会显示刚刚选中的值,赋值方法:$('#id').val(arr).trigger('change'),id为...
select2 多选取值、赋值
//多选取值 function getMultiSelectVal(id) { return $.map($(&amp;amp;amp;amp;amp;quot;#&amp;amp;amp;amp;amp;quot; + id).select2('data'), function(value) { return value.id }).join(&amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;quot;); } //多选赋值 /
select2表单带出编辑,多选赋值问题
最后实在解决不了 所以用本办法解决了。。 主要是initSelection 初始化选择 在标签没有值的时候initSelection不会走,只有有值的时候才会走,刚好满足编辑时显示值,添加时不影响
Select2 多选框
1. 引入select,官网可以下载 2. 页面使用,select标签,本人用的velocity #foreach($bdoPO in $cateList) $bdoPO.cateName #end
关于select标签多选功能的select-2样式的清空选中项
今天说的就是select标签的多选功能的 使用,使用select2组件完成多选。下面是我们需要引入的文件JQuery最好大于等9,要不会有一些特效无法使用&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;select2.min.css&quot;&amp;gt; &amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery-11.3.m
select(select2)、options多选取值
js //chang函数获取选择的option $(&amp;quot;#DeptID&amp;quot;).change(function () { select_ops = $(&amp;quot;#DeptID&amp;quot;).val().join(&amp;quot;-&amp;quot;); //console.log(select_ops); }); html: &amp;amp;l
Select2控件的多选
Select2的多选 控件添加一个属性multiple=”multiple” 页面元素 &amp;lt;select path=&quot;samplingOprator&quot; placeholder=&quot;请选择&quot; multiple=&quot;multiple&quot;&amp;gt; &amp;lt;c:forEach items=&quot;${personInfoList}&quot; var=&quot;s&quot;&amp;gt;
select实现多选、全选、全不选
今天使用select下拉框实现了全选,全不选和多选的功能,效果如图: 1、html代码:为select标签设置multiple属性为true <select id="myselect" multiple="true"> <option value="1">java</option> <option value="2">javaSE</option> <option va
select2 支持多值下拉框
select2是一个非常好用的下拉框插件,支持很多功能。 官方文档,例子:http://select2.github.io/ 现在记录一下我在工作中用到的下拉框多值选择。 html定义: 首先引入css,js库 在html中定义如下下拉框: Alabama ... Wyoming //注意,上面加上multiple="
form表单提交多个下拉框获取select选项值,name相同
最近项目中做了一个form提交多个name一样的下拉框,刚开始也选把name都改成不一样的,感觉有点儿麻烦,也不知道自己的做法对不对于是就试了试相同的name多个下拉框,后台仍然是可以获得值的,只需要用split方法分开一下就行了 前台页面                         吃饭                                            
Bootstrap Multiselect 动态二联赋值 支持多选
在用Bootstrap Multiselect 动态二联赋值的时候,从后台传来的值,给动态赋值,解决办法,此办法是在网上看了很久,找到一位兄台解决的,此记录作为自己以后复查, 效果图如下: 源码如下: 引入js文件 jsp中页面源码:
HTML&CSS基础学习笔记1.24-input标签的单选与多选
html用<input>标签来实现单选框和多选框
select2多选下拉功能
AngularJS完成select2多选下拉功能1、引入js及css资源2、页面添加select标签 1、引入js及css资源 // An highlighted block &amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../plugins/select2/select2.css&amp;quot; /&amp;amp;gt; &amp;amp;lt;link rel=&amp;quot;stylesheet
select2 动态下拉框插件以及开发心得
select2 动态下拉框插件以及开发心得
关于bootstrap框架中select2的多选问题
1.类似普通select 标签一样 select id="user_Level" class="form-control" multiple="multiple"> option value="10">VIPoption> option value="20">管理级别option> option value="30">成员option> select> 唯一区别就是
jquery select2插件初始化时赋多个值
select2插件初始化时如何赋多个值? var ch_num = $("input[name='media_chn_num']").val().split(","); $("#chn_num_android").select2({ placeholder:'请选择渠道',
你知道吗,如何使用select2插件实现下拉框一次性选多个值、以及数据的回显
页面展示标签&amp;lt;td class=&quot;vatop rowform&quot; style=&quot;width:auto;&quot;&amp;gt;                    &amp;lt;select style=&quot;width: 285px;&quot; class=&quot;combox&quot; name=&quot;investmentMethod&quot; id=&quot;investmentMethod&quot; multiple   
下拉多选select2
方式一 &amp;lt;script type=&quot;text/javascript&quot; src=&quot;/wd/js/jquery-1.9.1.js&quot; &amp;gt;&amp;lt;/script&amp;gt; &amp;lt;link href=&quot;https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css&quot; rel=&quot;stylesheet&q
select值和自定义属性取值
第一种取值 [code=&quot;java&quot;] $('#select1').find(&quot;option:selected&quot;).attr(&quot;自定义属性&quot;) $('#teacher').val() $('#teacher').find(&quot;option:selected&quot;).text(), 取名称 [/code] 第二种取值 属性定义的是data-xxx [code=&quot;java&quot;] $(...
select2 下拉框 联动 根据文本赋值 以及设置选中 和 初始化demo
根据输入的车牌号 自动判断 所属省份 和 城市 例如 我输入皖A85294 自动选择安徽省合肥市 的示例,语言功底不好,直接贴代码了哈 /**加载省份城市和区域的信息***/ function loadSuccessProAndCity() { $.ajax({ url: ctx + '/sys/region/authc_json/provinceAppIn...
bootstrap select2使用总结
select2的几种常用方法总结,把代码放到相应的地方就能使用了。不过前提需要下载select2哦!
html select的动态创建和optgroup属性
[code=&quot;html&quot;] function createOptions(){ var mySelect = document.getElementById(&quot;mySelect&quot;); var group=document.createElement('OPTGROUP'); group.label = &quot;JS创建的optgroup&quot;; ...
EasyUI多选下拉框的取值和赋值
@RequestMapping("/getCodeList")  public void getCodeList(HttpServletResponse resp){   ResUtil.resp(resp,JSON.toJSON(bizGuideMapper.getCodeList()).toString().toLowerCase());  } @Select("select
select2插件 多选下拉框和设置大标题
先上个图 项目需要一个支持多选的选人功能,并能区别开不同身份的人。 网上搜了一番发现select2简单又好用,但是找不到设置大标题的方法。后来看了官方英文文档找到了。 直接上代码吧 1. 定义select标签,设置好id: 主讲人: * 会议秘书: *
Yii2 使用select2 组件实现下拉搜索
刚开始使用yii,需要实现下拉多选搜索,就找到了select2这个组件,先看看实现后的效果: 如何安装select2网上有很详细的教程,这里不做赘述。完成后只需要在视图文件use kartik\select2\Select2就可以了。 具体的视图中的代码如下:<?= $form->field($model, 'search')->widget(Select2::classname(),
通过jQuery给select元素的option标签添加自定义属性
有时候需要个option标签传递多个值,仅仅依靠value属性是不够的,因此通过给select元素的option添加新的元素,来获取多个值。 &amp;lt;select name=&quot;city&quot; id=&quot;city_id&quot; onchange = &quot;setAct(this)&quot;&amp;gt; &amp;lt;option value=&quot;1&quot; code=&quot;0531&quot; &amp;gt;济南&amp;lt
select2 下拉框设置默认值 jeesite
&amp;lt;form:select path=&quot;aa&quot; class=&quot;input-xlarge &quot;&amp;gt; &amp;lt;form:options items=&quot;${bb}&quot; itemLabel=&quot;label&quot; itemValue=&quot;value&quot; htmlEscape=&quot;false&quot;/&amp;gt; &amp;lt;/form:select&amp;gt; 以上为
jeestie框架中下拉框select2的用法
使用select2方法是为了使下拉框带有搜索选项,方便用户选择。使用前就是普通的下拉框,如果下拉的选项很多,你找起来会很费劲,使用select2就可以快速选择到你想要选择的选项了。下面将介绍几个常用的知识。 第一,如何给定普通的下拉框select2权限 1.jeesite框架中普通的下拉框赋select2权限: $("select").select2(); 2.常规的页面...
使用select2下拉框ajax加载数据时,编辑赋值的方法
最近在做一个项目,项目地址: https://github.com/wangyuanjun008/wyj-parent.git 使用bootstrap select2下拉框插件,ajax从后台加载数据,保存编辑后,不知道怎么为下拉框赋值,下拉框代码如下: 使用状态: $("#sel_status").select2({ placeholder : "--请选择--", dr
vue.js 添加动态的下拉框,单选框,多选框
1.下拉框 &amp;lt;FormItem label=&quot;关联题目类型&quot; prop=&quot;questionTypeId&quot;&amp;gt; &amp;lt;Select v-model=&quot;addValidate.questionTypeId&quot; placeholder=&quot;请选择题目类型&quot;&amp;gt; &amp;lt;Option v-for=&quot;(item,index) in
Jquery获得select以及multiple下拉多选框的值
var sel = $('#system_id').val(); alert(sel); 运行页面的话,选择的值已经会显示出来了。 system_id是选择框的name属性
获取多个input标签,并动态改变input标签的name属性
网上找了很多,都不如意,后来安装了个谷歌浏览器调试,发现问题:list数组中的值居然变少了,但不知道为什么会这样,求大神解答。原理我不知道,但是稍微修改下代码,还是实现了<script type="text/javascript"> //动态改变 function test(){ var list = document.getElementsB
select2单选下拉赋值
[code=&quot;html&quot;] [/code] [code=&quot;js&quot;] $(&quot;#proviceEdit&quot;).select2(&quot;data&quot;,{ id: 0, text: '初始值'}); [/code]
Laravel技巧集锦(26):使用select2和aiax实现下拉框选择
具体功能: 用户输入字符,ajax自动去查询数据库,如果数据库中有记录,则返回结果在下拉框中;如果没有,用户Enter回车键自己创建话题。 1、下载selec2.min.js、selec2.min.css并引入到项目中。 &lt;link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2....
获取多选下拉框(select标签设置multiple属性)的值
&amp;lt;select multiple&amp;gt;不能直接获取value,需要借助该元素的options属性。如下: &amp;lt;select id=&quot;select&quot; multiple&amp;gt; &amp;lt;option value=&quot;1&quot;&amp;gt;1111&amp;lt;/option&amp;gt; &amp;lt;option value=&quot;2&quot;&amp;gt;2222&amp;lt;/op
多个jquery中select2多选框数组向后台传值问题
背景:      前端框架为AdminLTE,后台为SSM,项目中需要实现表格添加一行的功能,并且这一行中有select2的多选数组遇到的问题:    (1)select2多选返回的数据是数组,但添加多行,由于其name相同,springMVC中通过String[]  orgNames获取的数据错误            eg:第一个select2多选获得的数组值   orgName={1,2},...
select2下拉框多选进行回显
多选框进行回显   val() 里面放的是从后台传来的id集合。 $(&quot;#manageDistrict&quot;).val(${manageRegionIdList}).trigger(&quot;change&quot;);
Angular2 select用法-设置默认值和事件
angular2支持双向绑定,在使用select下拉框主要通过ngModel和ngModelChange实现选择事件比如现在有三个学生小明,小红,小黑,对双向绑定的student设置你想要的select值就可以在下拉框默认选中let students:string[]=['xiaoming','xiaohong','xiaohei']; let student:string=''; let info
如何将下拉框相同name存入一个数组
想请问一下如何将相同name存入一个数组,例如choice0-1,combine0-1和tag0-1是一个数组,在将每一行写入一个数组?&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt;    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;    &amp;lt;meta name=&quot;viewport&quot; conten
thymeleaf下拉框和多选框的修改是被选中
-- 请选择 -- 蔬菜 北京 长沙