首页 > 解决方案 > 基于布尔值重新排列现有选项

问题描述

我想知道有没有办法根据布尔值重新排列现有选项?

例子;

如果 matchtime===true,option['time'] 必须在选项列表中优先 如果 matchquality===true,option['quality'] 在选项列表中也必须优先

<form> 
    <select name="option_id" >
        <option disabled selected value> -- select a category -- </option>
        <optgroup label="Recommended">
        <option disabled > ---- </option>
        </optgroup> -->
        <optgroup label="All Category">
        <option id="time" value="time" >Time </option>
        <option id="quality" value="Quality" >Quality</option>
        <option id="management" value="management" >management</option>
        </optgroup>
    </select></form>

Javascript:

var sel=this.form.elements['option_id'];
var groups = sel.getElementById('optgroup');
groups=groups[0];
var opt=document.createElement('option');
opt.appendChild(document.createTextNode("newoptions"));
var matchtime=true;
var matchquality = false;
if(matchtime===true){
   groups.appendChild(opt);
}

额外的:

我想根据布尔值创建一个自动建议类别。如果可能的话,我还想用“推荐”一词来标记选项。

如果不可能,我正在考虑使用 optgroup 来安排它们以分隔其布尔值为 true 的选项。

参考链接:https ://www.dyn-web.com/tutorials/forms/select/option/dom-demo.php

标签: javascripthtmldomvar

解决方案


推荐阅读