Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可搜索选择选项_Javascript_Jquery_Html_Select_Drop Down Menu - Fatal编程技术网

Javascript 可搜索选择选项

Javascript 可搜索选择选项,javascript,jquery,html,select,drop-down-menu,Javascript,Jquery,Html,Select,Drop Down Menu,是否仍然可以将选择选项设置为可选/自动完成/可搜索?不幸的是,我不能更改表格。因此,我无法将选择选项更改为文本字段。但是我可以访问css和javascript 下面是选择选项 <select name="siteID" id="siteID" class="abcd" style="width:100%" /> <option value='0' selected='true'> Not associated to any Circuit ID

是否仍然可以将选择选项设置为可选/自动完成/可搜索?不幸的是,我不能更改表格。因此,我无法将选择选项更改为文本字段。但是我可以访问css和javascript

下面是选择选项

<select name="siteID" id="siteID" class="abcd" style="width:100%" /> 
            <option value='0' selected='true'> Not associated to any Circuit ID </option>
            <option value='2101' > 1007345136 </option> 
            <option value='2102' > 1007921321 </option> 
            <option value='2103' > 1007987235 </option> 
            <option value='2407' > 132 </option> 
            <option value='2408' > 141 </option> 
            <option value='2409' > 142 </option> 
            <option value='2410' > 145 </option> 
            <option value='2701' > 225 </option> 
            <option value='2702' > 248 </option> 
            <option value='2703' > 251 </option> 
            <option value='2704' > 254 </option> 
            <option value='2705' > 264 </option> 
            <option value='1804' > 27 </option> 
            <option value='2706' > 274 </option> 
            <option value='2707' > 310 </option> 
            <option value='2708' > 311 </option> 
            <option value='3001' > 333 </option> 
            <option value='2401' > 38 </option> 
            <option value='2402' > 64 </option> 
            <option value='2403' > 68 </option> 
            <option value='2404' > 69 </option> 
            <option value='2405' > 76 </option> 
            <option value='2406' > 81 </option> 
            <option value='2411' > abc123post </option> 
            <option value='3301' > circuit id 50 </option> 
            <option value='2105' > fadhil </option> 
            <option value='2104' > faisal </option> 
            <option value='3002' > IPEN - SITE TEST </option> 
            <option value='3601' > Manual Circuit ID </option> 
            <option value='3302' > new circuit id fadhil </option> 
            <option value='1809' > try iframe </option> 
        </select>

不与任何电路ID关联
1007345136
1007921321
1007987235
132
141
142
145
225
248
251
254
264
27
274
310
311
333
38
64
68
69
76
81
abc123post
电路id 50
法希尔
费萨尔
IPEN-现场测试
手动电路ID
新电路id fadhil
试试iframe

是否有任何JavaScript /jQuery和CSS可以将其转换为可Server。

< P>可以考虑调用一个jQuery插件。不能自行关闭
标签!您可以这样使用它:

$(函数(){
$(“选择”).select2();
});
@导入url(https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css);

不与任何电路ID关联
1007345136
1007921321
1007987235
132
141
142
145
225
248
251
254
264
27
274
310
311
333
38
64
68
69
76
81
abc123post
电路id 50
法希尔
费萨尔
IPEN-现场测试
手动电路ID
新电路id fadhil
试试iframe

<代码> > p>您可以考虑使用jQuery插件。不能自行关闭
标签!您可以这样使用它:

$(函数(){
$(“选择”).select2();
});
@导入url(https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css);

不与任何电路ID关联
1007345136
1007921321
1007987235
132
141
142
145
225
248
251
254
264
27
274
310
311
333
38
64
68
69
76
81
abc123post
电路id 50
法希尔
费萨尔
IPEN-现场测试
手动电路ID
新电路id fadhil
试试iframe

您可以使用javascript包含其他脚本,如此处所述:

然后,您可以使用以下方法解决您的问题:

您还需要在css中包含selectize.css中的规则(或者您可以使用Javascript中类似的
includeCss
函数创建链接元素)


请注意,在fiddle中,我修复了自动关闭
(不允许)

您可以使用javascript包含其他脚本,如下所述:

然后,您可以使用以下方法解决您的问题:

您还需要在css中包含selectize.css中的规则(或者您可以使用Javascript中类似的
includeCss
函数创建链接元素)


请注意,在小提琴中,我修复了自动关闭
(不允许)

显示:在IE11中,无显示不起作用

我在选择选项中搜索时遇到了同样的问题

<select name="siteID" id="siteID" class="abcd" style="width:100%" /> 
            <option value='0' selected='true'> Not associated to any Circuit ID </option>
            <option value='2101' > 1007345136 </option> 
            <option value='2102' > 1007921321 </option> 
            <option value='2103' > 1007987235 </option> 
            <option value='2407' > 132 </option> 
            <option value='2408' > 141 </option> 
            <option value='2409' > 142 </option> 
            <option value='2410' > 145 </option> 
            <option value='2701' > 225 </option> 
            <option value='2702' > 248 </option> 
            <option value='2703' > 251 </option> 
            <option value='2704' > 254 </option> 
            <option value='2705' > 264 </option> 
            <option value='1804' > 27 </option> 
            <option value='2706' > 274 </option> 
            <option value='2707' > 310 </option> 
            <option value='2708' > 311 </option> 
            <option value='3001' > 333 </option> 
            <option value='2401' > 38 </option> 
            <option value='2402' > 64 </option> 
            <option value='2403' > 68 </option> 
            <option value='2404' > 69 </option> 
            <option value='2405' > 76 </option> 
            <option value='2406' > 81 </option> 
            <option value='2411' > abc123post </option> 
            <option value='3301' > circuit id 50 </option> 
            <option value='2105' > fadhil </option> 
            <option value='2104' > faisal </option> 
            <option value='3002' > IPEN - SITE TEST </option> 
            <option value='3601' > Manual Circuit ID </option> 
            <option value='3302' > new circuit id fadhil </option> 
            <option value='1809' > try iframe </option> 
        </select>
我所做的是禁用不匹配的选项并隐藏它们

在此之后,我对选项进行了排序,只在顶部显示已启用的选项

我写的代码粘贴在下面-请尝试理解我希望它能工作的逻辑

要禁用这些选项,请使用:

$("#addselect option")attr('disabled', 'disabled').hide
要再次启用它,请使用:

$("#addselect option").removeAttr('disabled').show();
要按禁用的选项排序,请执行以下操作:

$("#addselect option").each(function (i, val) {
    if ($(this)[i].disabled) {
        moveDown("selectId");
    }
    else {
        moveUp("selectId");
    }
}

function moveUp(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = 1; i < selectOptions.length; i++) {
        var opt = selectOptions[i];
        if (!opt.disabled) {
            selectList.removeChild(opt);
            selectList.insertBefore(opt, selectOptions[i - 1]);
        }
    }
}

function moveDown(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = selectOptions.length - 2; i >= 0; i--) {
        var opt = selectOptions[i];
        if (opt.disabled) {
            var nextOpt = selectOptions[i + 1];
            opt = selectList.removeChild(opt);
            nextOpt = selectList.replaceChild(opt, nextOpt);
            selectList.insertBefore(nextOpt, opt);
        }
    }
}
$(“#添加选择选项”)。每个(函数(i,val){
如果($(此)[i].已禁用){
向下移动(“selectId”);
}
否则{
向上移动(“selectId”);
}
}
功能向上移动(selectId){
var selectList=document.getElementById(selectId);
var selectOptions=selectList.getElementsByTagName('option');
对于(变量i=1;i=0;i--){
var opt=selectOptions[i];
如果(选择禁用){
var nextOpt=selectOptions[i+1];
opt=selectList.removeChild(opt);
nextOpt=selectList.replaceChild(opt,nextOpt);
选择list.insertBefore(nextOpt,opt);
}
}
}

显示:对于IE11,无一项不起作用

我在选择选项中搜索时遇到了同样的问题

<select name="siteID" id="siteID" class="abcd" style="width:100%" /> 
            <option value='0' selected='true'> Not associated to any Circuit ID </option>
            <option value='2101' > 1007345136 </option> 
            <option value='2102' > 1007921321 </option> 
            <option value='2103' > 1007987235 </option> 
            <option value='2407' > 132 </option> 
            <option value='2408' > 141 </option> 
            <option value='2409' > 142 </option> 
            <option value='2410' > 145 </option> 
            <option value='2701' > 225 </option> 
            <option value='2702' > 248 </option> 
            <option value='2703' > 251 </option> 
            <option value='2704' > 254 </option> 
            <option value='2705' > 264 </option> 
            <option value='1804' > 27 </option> 
            <option value='2706' > 274 </option> 
            <option value='2707' > 310 </option> 
            <option value='2708' > 311 </option> 
            <option value='3001' > 333 </option> 
            <option value='2401' > 38 </option> 
            <option value='2402' > 64 </option> 
            <option value='2403' > 68 </option> 
            <option value='2404' > 69 </option> 
            <option value='2405' > 76 </option> 
            <option value='2406' > 81 </option> 
            <option value='2411' > abc123post </option> 
            <option value='3301' > circuit id 50 </option> 
            <option value='2105' > fadhil </option> 
            <option value='2104' > faisal </option> 
            <option value='3002' > IPEN - SITE TEST </option> 
            <option value='3601' > Manual Circuit ID </option> 
            <option value='3302' > new circuit id fadhil </option> 
            <option value='1809' > try iframe </option> 
        </select>
我所做的是禁用不匹配的选项并隐藏它们

在此之后,我对选项进行了排序,只在顶部显示已启用的选项

我写的代码粘贴在下面-请尝试理解我希望它能工作的逻辑

要禁用这些选项,请使用:

$("#addselect option")attr('disabled', 'disabled').hide
要再次启用它,请使用:

$("#addselect option").removeAttr('disabled').show();
要按禁用的选项排序,请执行以下操作:

$("#addselect option").each(function (i, val) {
    if ($(this)[i].disabled) {
        moveDown("selectId");
    }
    else {
        moveUp("selectId");
    }
}

function moveUp(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = 1; i < selectOptions.length; i++) {
        var opt = selectOptions[i];
        if (!opt.disabled) {
            selectList.removeChild(opt);
            selectList.insertBefore(opt, selectOptions[i - 1]);
        }
    }
}

function moveDown(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = selectOptions.length - 2; i >= 0; i--) {
        var opt = selectOptions[i];
        if (opt.disabled) {
            var nextOpt = selectOptions[i + 1];
            opt = selectList.removeChild(opt);
            nextOpt = selectList.replaceChild(opt, nextOpt);
            selectList.insertBefore(nextOpt, opt);
        }
    }
}
$(“#添加选择选项”)。每个(函数(i,val){
如果($(此)[i].已禁用){
向下移动(“selectId”);
}
否则{
向上移动(“selectId”);
}
}
功能向上移动(selectId){
var selectList=document.getElementById(selectId);
var selectOptions=selectList.getElementsByTagName('option');
对于(变量i=1;i