代码如下:
          input = $('#user_search');
          input.bind("keyup",function(){
 
var value = $(this).val();
$('#all_user').find("option").each(function(){
var reg = new RegExp(value,'ig')
if(reg.test($(this).text()) && value)
{
  this.selected = true;
}
else
this.selected = false;
})
  
        });
chrom 下值被选中,但如果值很多,有滚动条的话,选中的值又在滚动条下面,这时就看不到选中的值了。
IE,火狐没有问题。
chrom第一次时滚动条会自动定位被选中的值的地方,第二次就不行了。

解决方案 »

  1.   

    求详细代码,一下自行实验chrome无误<!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
        <script>
            $(function () {
                input = $('#user_search');
                input.bind("keyup", function () {
                    var value = $(this).val();
                    $('#all_user').find("option").each(function () {
                        debugger;
                        if (value == $(this).text()) {
                            this.selected = true;
                        }
                        else
                            this.selected = false;
                    })
                });
            })
        </script>
    </head>
    <body>
    <input type="text" id="user_search">
    <select id="all_user">
        <option id="a">a</option>
        <option id="b">b</option>
        <option id="c">c</option>
    </select>
    </body>
    </html>
      

  2.   

    $(function () {
        $('#user_search').keyup(function(){
            $('#all_user').val($(this).val());
        })
    })
    简单点就行了。