首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bsmultiselect的两个同步选择

使用bsmultiselect的两个同步选择
EN

Stack Overflow用户
提问于 2021-01-23 04:09:17
回答 1查看 29关注 0票数 1

这又是我:)

我一直想知道如何使用html标签"select“而不是div来创建两个同步的bsmultiselect,因为我需要通过表单发送信息。这是代码。我想要的是让它成为"select“而不是"div”

代码语言:javascript
复制
var options = [

  { text: 'item1', value: 'item1', selected: true},
  { text: 'item2', value: 'item2', selected: false},
  
];

function isValidSelection(v) {
    return true;
    // RP: simplified since sensce of current filter is unclear
    /*var l = options.filter(function (item) {
        return item.selected == true;
    }).length;
    var r = (!v) || (v && l == 0);
    return r;*/
}

var classeGramatical1 = null;
var classeGramatical2 = null;
let isclasseGramatical2 = true;
var $classesGramaticais = $('.classeGramatical1')
if (isclasseGramatical2)
    $classesGramaticais = $classesGramaticais.add('.classeGramatical2')

var install = function () {
    $classesGramaticais.bsMultiSelect({
        options: options,
        setSelected: function (o, v) {
            if (isValidSelection(v)) {
                o.selected = v;
                return true;
            }
            else {
                return false;
            }
        }
    });
    if (isclasseGramatical2) {
        $('.classeGramatical1').on('dashboardcode.multiselect:change', function () {
            $('.classeGramatical2').bsMultiSelect("UpdateOptionsSelected");
        })
    }

}
install();
代码语言:javascript
复制
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@dashboardcode/bsmultiselect@0.6.28/dist/js/BsMultiSelect.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<label class="control-label" for="Classe">Classe:</label>
<div class="classeGramatical1" multiple="multiple"required></div>

<label class="control-label" for="Classe">Classe:</label>
<div class="classeGramatical2" multiple="multiple"required></div>

EN

回答 1

Stack Overflow用户

发布于 2021-06-27 20:09:17

如果您需要两个<select>与表单一起发送:

在them

  • manipulate data on
  1. 上创建两个selects和两个新选项- set

setSelected<option>selected attribute (或create

  1. options)将更改推送到relatedBsMultiSelect (使用UpdateOptionsSelected ir UpdateData或其他选项

如果您需要将一个<select>与表单一起发送(第二个bsMultiSelect仅用于某些数据管理):

  1. <select>上创建一个bsMultiSelect,在div上创建第二个。1b)使用相同的configuration {options: $('#mySelect < option').toArray() }
  2. all启动第二个and :更改数据,然后推送更改。如果您更改了自己的bsMultiSelect数据(而不是其他数据),请在新的事件循环window.setTimeout(,0);

中使用UpdateOptionsSelected推送更改

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65852082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档