html - Chrome 选择列表样式行为过滤选择列表选项

标签 html css google-chrome

在 Chrome 中,这些不会按预期运行,如果使用大小属性,样式选项将不起作用。我怎样才能使它工作?

<select size=2>
    <option>1</option>
    <option selected>2</option>
    <option style="display: none;">3</option>
    <option>4</option>
</select>
<br/>
<select>
    <option>1</option>
    <option selected>2</option>
    <option style="display: none;">3</option>
    <option>4</option>
</select>

http://jsfiddle.net/D9X9U/1/

我的最终目标是有一个搜索框来过滤某种选择列表。

最佳答案

我最终使用了一个隐藏的选择列表并在两者之间移动元素。如果有人发现这个并且可以改进它,请这样做,我会将你的标记为答案。我或多或少地摸索着使用 javascript 和 jquery,所以我确信可以做很多事情来让它变得更好。

http://jsfiddle.net/x6cfF/1/

编辑:任何找到这个寻找解决方案的人,这里有一个更好的https://codereview.stackexchange.com/questions/23706/better-way-to-filter-select-list/23710?noredirect=1#23710

<input type="search" id="SearchBox" />
<br />
<div class="scrollable" id="CustomerSelectDiv">
    <select size=2 class="scrollableinside" id="CustomerSelect">
        <option value=100>test</option>
        <option value=101>test1</option>
        <option value=102>test2</option>
        <option value=103>test3</option>
    </select>
</div>
<div style="display: none;">
    <select id="CustomerSelectHidden"></select>
</div>




<script type="text/javascript">
    window.onload=function() {

           var $options = $('#CustomerSelect option');
           document.getElementById("SearchBox").onkeyup = function () {
               var $HiddenOptions = $('#CustomerSelectHidden option');
               $HiddenOptions.each(function (index, value) {
                   document.getElementById('CustomerSelect').appendChild(this);
               });
               var search = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
               var element = $options.filter(function () {
                   var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
                   return !~text.indexOf(search);

               }).appendTo(document.getElementById('CustomerSelectHidden'));
           }
       }
</script>

关于html - Chrome 选择列表样式行为过滤选择列表选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326695/

相关文章:

javascript - JQuery - 设置 css 和实际宽度/高度宽度一个函数

javascript - 申请:not against a group of element css selectors?的方法

google-chrome - Chrome devtools 配置文件火焰图中的每种颜色是什么意思

javascript - 如何在 <div> 标签内 .append() 用户输入?

css - IE 8 透明 div,内容在顶部

javascript - 粘性标题没有完全固定

javascript - Web Worker 消耗大量内存

angular - CORB 阻止动态 AdSense 广告

javascript - html 中用于更改 css 图像标签的按钮功能?

html - 为什么 <fieldset> 的清除 float ?