首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么多选没有更新?

为什么多选没有更新?
EN

Stack Overflow用户
提问于 2021-05-09 07:09:05
回答 1查看 65关注 0票数 1

我使用的是bsMultislect和bootstrap 5。我有所有必需的依赖脚本,但是,multiselect元素只有在页面重新加载时才会更新。当选择了另一个select (classNames)中的一个选项时,这应该会触发multiselect中的更新。该脚本仅在页面重新加载后才起作用,并且不适用于classNames select中的更改。我知道bootstrap 5可能会有兼容性问题,然而,这个问题也出现在bootstrap 4中。

代码语言:javascript
复制
  <script>

$('#classNames').change(function(){ 
        var param = $('#classNames').val();
        localStorage.setItem('classParam',$('#classNames').val());
        
        
        var settingStd = {
    "async": false, 
    "url": '<?php echo site_url()."xxxxxxxxxxxxxx.php"; ?>',
    "method": "GET",
     "dataType":"Json",
    "data": { classes : param}
}

$.ajax(settingStd).done(function (restd) {
     
     $("#studentList").find("option").remove();
        var option1 = document.createElement('option');
        option1.setAttribute('value', 'All Students');
            option1.appendChild(document.createTextNode('All Students'));
            var option=null;
            for(var i =0; i<restd.length; i++){ 
                //console.log(restd[i].fName);
            option = document.createElement('option');
            option.setAttribute('value', restd[i].fName+" "+restd[i].lName);
            option.appendChild(document.createTextNode(restd[i].fName+" "+restd[i].lName));
                //console.log(option);
               $('#studentList').append(option);
            }
     $("#studentList").bsMultiselect();
});</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-27 20:20:16

您应该将数据中的更改推送到可视组件(没有自动监控)。我们称之为反应性,但options元素列表只是BsMultiSelect的数据,这一点当然不明显。

因此,如果有许多更改,并且您希望刷新整个控件或特定选项更新,则调用BsMusltiSelectUpdateData

代码语言:javascript
复制
  var index =15;
          bsMultiSelect.updateOptionSelected(index);
          bsMultiSelect.updateOptionDisabled(index);
          bsMultiSelect.updateOptionHidden(index);

如果更改了15个option

也有用于特殊选项插入和删除的pushers

这段代码的“查看页面源代码”可以显示接口是如何工作的:https://dashboardcode.github.io/BsMultiSelect/snippetJs.html

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

https://stackoverflow.com/questions/67452939

复制
相关文章

相似问题

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