我正在使用瘦选择插件:https://www.cssscript.com/multi-select-dropdown-component-javascript-slim-select/在我的自定义形式在php wordpress模板。
从json文件获取数据的is form选项代码:
<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:
<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选项进行比较,从而禁用该选项。
多选择插件在使用时会创建此插件:
<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的默认选择值由前端的插件隐藏:
<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/查询,因为我觉得这很棘手。
发布于 2021-01-02 10:06:40
通过显示和隐藏原始选择(而不是slimselect插件中的包装div )的,可以有效地将包装器选择更新到原始选择的当前状态。
https://stackoverflow.com/questions/61989913
复制相似问题