2016-04-14 11 views
0

リストボックスはaspxページにあります。ページが読み込まれると、hiddenIDフィールドにlocationIDが設定され、リストボックスで選択されます。リストボックスには多くの項目があるためです。ページがポストバックでないときに、選択したアイテムをビューに表示したいと思います。しかしscrollintoviewは要素のためだけです。私はウェブ上でいくつかの例を見つけましたが、それはトップに表示されています。私のコードは動作しません。選択したアイテムをビューに表示する方法を教えてもらえますか?前もって感謝します。ビューのリストボックスで選択した項目を作成する方法

<script type="text/javascript"> 

     $(document).ready(scrollLocation); 

     function scrollLocation() { 
      var offset = 0; 
      var selectedIndex = $("#listLocation")[0].selectedIndex; 
      alert(selectedIndex); 
      $("#listLocation option").each(function (i, e) { 
       if (i == selectedIndex) return false; 
       offset += $(e).height(); 
      }); 
      $("#listLocation").scrollTop(offset); 

     } 
</script> 

答えて

0

代わりのoffset()が、その後scrollTop()、選択された一つまでoption秒のheight秒を足し使用:

は私のjqueryのコードがあります。 https://jsfiddle.net/h226p90k/

HTML

<select id="s1" size="5"> 
    <option value='1'>1<option> 
    <option value='2'>2<option> 
    <option value='3'>3<option> 
    <option value='4'>4<option> 
    <option value='5'>5<option> 
    <option value='6'>6<option> 
    <option value='7'>7<option> 
    <option value='8'>8<option> 
    <option value='9' selected='selected'>9<option> 
    <option value='10'>10<option> 
    <option value='11'>11<option> 
    <option value='12'>12<option> 
    <option value='13'>13<option> 
    <option value='14'>14<option> 
    <option value='15'>15<option> 
</select> 

JS

$(function(){ 
    var offset = 0; 

    // Find the selected index 
    var selectedIndex = $("#s1")[0].selectedIndex; 
    $("#s1 option").each(function(i,e){    
     // if this is the selected one, stop 
     if(i==selectedIndex) return false; 
     // otherwise add up 
     offset += $(e).height();  
    });  

    $("#s1").scrollTop(offset); 
}); 
+0

ありがとう:ここでフィドルです。私はあなたのコードを私の機能に入れました。ただし、選択した項目は表示されません。私はそれを見るために下にスクロールする必要があります。あなたのコードを誤解していますか? – user819774

+0

私はオフセットの値を表示するために警告を出します。それは0です – user819774

関連する問題