首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在瘦选择多选择JQuery插件中,如何设置自定义值或id并获取它们,并与其他选择选项进行比较以禁用

在瘦选择多选择JQuery插件中,如何设置自定义值或id并获取它们,并与其他选择选项进行比较以禁用
EN

Stack Overflow用户
提问于 2020-05-24 17:42:35
回答 1查看 2.4K关注 0票数 0

我正在使用瘦选择插件:https://www.cssscript.com/multi-select-dropdown-component-javascript-slim-select/在我的自定义形式在php wordpress模板。

从json文件获取数据的is form选项代码:

代码语言:javascript
复制
<select id="ddl5" name="per" class="dropd per gry">
        <option value="">Per</option>
            <?php
            $_SERVER['HTTPS'] = false;
            $output_s = file_get_contents('https://www.mywebsite.com/fee.json');
            $array_s = json_decode($output_s, true);
            $count = count( $array_s );
            for ( $i = 0; $i < $count; $i++ )
            {
  echo "<option value='".$array_s[$i]['id']."'>".$array_s[$i]['uom_name']."</option>";
            }?> </select>

多选择js:

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slim-select/1.26.0/slimselect.min.css"></link>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slim-select/1.26.0/slimselect.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

$(document).ready(function(){
  $(".ss-multi-selected").click(function(e){
    $(this).closest('.multiDDL').css("max-height", "inherit");
  });
});

    const my_MSD_object = new SlimSelect({
        select: '#ddl1-o',
        closeOnSelect: false,
    });

    var my_MSD_object2 = new SlimSelect({
        select: '#ddl1-bo',
        closeOnSelect: false,
    });

</script>

现在多选择很好,但是这里它在div中创建了选择选项,并且有随机值,因为我需要json文件中的值,这样我就可以与其他select选项进行比较,从而禁用该选项。

多选择插件在使用时会创建此插件:

代码语言:javascript
复制
 <div class="ss-list">
      <div class="ss-option" data-id="45063549">Other Services</div>
      <div class="ss-option ss-disabled ss-option-selected" data-id="74143280">Director</div>
      <div class="ss-option" data-id="94288375">Cinematographer</div>
    </div>

来自简单php的默认选择值由前端的插件隐藏:

代码语言:javascript
复制
<select id="ddl1-o" class="service gry" name="service" multiple="" tabindex="-1" data-ssid="ss-89838" style="display: none;">
        <option value="">Other Services</option>
        <option value="e7f18df3-3a9e-486f-ac8e-a8bf1d63dd51" id="service0">Director</option>. 
        <option value="02fbf950-30bc-44fc-adb2-696dde388cf3" id="service1">Cinematographer</option>

我需要以上这些值Ex:02fbf 950-30BC-44fc-adb2-696dde388cf3作为Jquery正在创建的数据id或简单id,以便与具有来自json文件的相同值的其他select选项进行比较。

因为其中一个是主服务,另一个是其他服务,因此,如果在1 1select中选择的一个选项在2 1select中被禁用。

请告诉我如何编写JS/查询,因为我觉得这很棘手。

EN

回答 1

Stack Overflow用户

发布于 2021-01-02 10:06:40

通过显示和隐藏原始选择(而不是slimselect插件中的包装div )的,可以有效地将包装器选择更新到原始选择的当前状态。

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

https://stackoverflow.com/questions/61989913

复制
相关文章

相似问题

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