Asp.net mvc dropdownlist在滚动时添加项目

时间:2014-01-23 08:30:00

标签: jquery asp.net-mvc drop-down-menu scrollbar

我正在寻找asp.net mvc下拉列表,如果滚动滚动条可以添加记录。我完全是这个领域的初学者。有人可以指导我如何实现这个或任何可重用的代码,如

滚动事件转到控制器,获取记录并附加到下拉列表的最后一项。我认为任何建议都可以让我理解如何处理代码逻辑

Here is what I tried to append to dropdown

<select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
    <option>11</option>
</select>

2 个答案:

答案 0 :(得分:9)

Jquery代码

以下是使用ajax调用控制器并获取记录然后绑定到下拉列表的代码

var mySelect = $('#mySelect');
 var sIndex = 11, offSet = 10, isPreviousEventComplete = true, isDataAvailable = true;

    mySelect.scroll(function (e) {
   if($(this).scrollTop() + $(this).innerHeight()>=$(this)[0].scrollHeight)
   {   
       var scrollto=$(this).scrollTop();
       if (isPreviousEventComplete && isDataAvailable) {       
          isPreviousEventComplete = false;
        $(".LoaderImage").css("display", "block");

        $.ajax({
          type: "GET",
          url: 'Your url',
          success: function (result) {
                   $.each(result, function(val, text) {            
    mySelect.append(
        $('<option></option>').val(val).html(text)
    );
        });
           mySelect.scrollTop( scrollto );

            isPreviousEventComplete = true;

            if (result == '') //When data is not available
                isDataAvailable = false;

            $(".LoaderImage").css("display", "none");
          },
          error: function (error) {
              alert(error);
          }
        });


      }
               }
    });

单击演示链接http://jsfiddle.net/sethuramanP/4pmKf/3/示例,以便在滚动结束时将静态数据添加到下拉列表

答案 1 :(得分:2)

你也可以尝试这个JQuery Select来支持无限滚动的结果。