向下移动所选选项不可见

时间:2016-01-13 11:44:17

标签: jquery html css

当我将第一个选项移到底部时,在某些时候我看不到选择列表中的选项,任何人都可以帮忙吗?



[Test]
public void Should_BeValid_WhenPropertyIsNullAndOtherPropertyIsNull()
{
    var attribute = new OptionalIfAttribute("test");
    var result = attribute.IsValid(null);

    Assert.That(result, Is.True);
}

$(document).ready(function() {
  $('input[type="button"]').click(function() {
    var $op = $('#select2 option:selected'),
      $this = $(this);
    if ($op.length) {
      ($this.val() == 'Up') ?
      $op.first().prev().before($op):
        $op.last().next().after($op);
    }
  });
});




1 个答案:

答案 0 :(得分:1)

以下是滚动解决方案:

$('input[type="button"]').click(function() {
  var $op = $('#select2 option:selected'),
    $this = $(this);
  if ($op.length) {
    ($this.val() == 'Up') ?
    $op.first().prev().before($op):
      $op.last().next().after($op);
  }

  var $s = $('#select2');
  $s.scrollTop($s.scrollTop() + ($op.offset().top - $s.offset().top));

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple id="select2">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="12">12</option>
  <option value="23">23</option>
  <option value="34">34</option>
  <option value="11">11</option>
  <option value="25">25</option>
  <option value="83">83</option>
  <option value="81">81</option>
  <option value="82">82</option>
  <option value="73">73</option>
</select>
<input type="button" value="Up">
<input type="button" value="Down">

请注意,您仍然可以对其进行微调,并且只在需要时进行滚动,并在向下滚动时将其放在底部(而不是顶部)