Repository: sentsin/layui
File: src/modules/form.js (JavaScript)

Code before:
          var index =  this.selectedIndex; // 当前选中的索引
          var initValue = '';
          var removeClickOutsideEvent;
          
          if(disabled) return;

          // 搜索项
          var laySearch = select.attr('lay-search');
          // 目前只支持 body
          var appendTarget = select.attr('lay-append-to') || 'body';
          var appendPosition = select.attr('lay-append-position');

          // #1449
          // IE10 和 11 中，带有占位符的 input 元素获得/失去焦点时，会触发 input 事件
          // 当鼠标按下时，根据 input 元素上的 __ieph 标识忽略 input 事件
          var needPlaceholderPatch = !!(lay.ie && (lay.ie === '10' || lay.ie === '11') && input.attr('placeholder'));
          
          // 展开下拉
          var showDown = function(){
            if(isAppendTo){
              // 如果追加面板元素后出现滚动条，触发元素宽度可能会有变化，所以先追加面板元素
              reElem.appendTo(appendTarget).css({width: title.width() + 'px'});

              var updatePosition = function(){
                lay.position(title[0], reElem[0], {
                  position: appendPosition || null,
                  allowBottomOut: true,
                  offset: [0, 5]
                });
              }

              updatePosition();
              $(window).on('resize.lay_select_resize', updatePosition);
            }
            var top = reElem.offset().top + reElem.outerHeight() + 5 - $win.scrollTop();
            var dlHeight = dl.outerHeight();
            var dds = dl.children('dd');
            
            index = select[0].selectedIndex; // 获取最新的 selectedIndex
            title.parent().addClass(CLASS+'ed');
            dds.removeClass(HIDE);
            dts.removeClass(HIDE);

            // 初始选中样式
            dds.removeClass(THIS);
            index >= 0 && dds.eq(index).addClass(THIS);

            // 上下定位识别
            if(top + dlHeight > $win.height() && top >= dlHeight){
              reElem.addClass(CLASS + 'up');
            }

Review comment (suggestion):
```suggestion
                  position: appendPosition,
```

Code after:
          var index =  this.selectedIndex; // 当前选中的索引
          var initValue = '';
          var removeClickOutsideEvent;
          
          if(disabled) return;

          // 搜索项
          var laySearch = select.attr('lay-search');
          // 目前只支持 body
          var appendTarget = select.attr('lay-append-to') || 'body';
          var appendPosition = select.attr('lay-append-position');

          // #1449
          // IE10 和 11 中，带有占位符的 input 元素获得/失去焦点时，会触发 input 事件
          // 当鼠标按下时，根据 input 元素上的 __ieph 标识忽略 input 事件
          var needPlaceholderPatch = !!(lay.ie && (lay.ie === '10' || lay.ie === '11') && input.attr('placeholder'));
          
          // 展开下拉
          var showDown = function(){
            if(isAppendTo){
              // 如果追加面板元素后出现滚动条，触发元素宽度可能会有变化，所以先追加面板元素
              reElem.appendTo(appendTarget).css({width: title.width() + 'px'});

              var updatePosition = function(){
                lay.position(title[0], reElem[0], {
                  position: appendPosition,
                  allowBottomOut: true,
                  offset: [0, 5]
                });
              }

              updatePosition();
              $(window).on('resize.lay_select_resize', updatePosition);
            }
            var top = reElem.offset().top + reElem.outerHeight() + 5 - $win.scrollTop();
            var dlHeight = dl.outerHeight();
            var dds = dl.children('dd');
            
            index = select[0].selectedIndex; // 获取最新的 selectedIndex
            title.parent().addClass(CLASS+'ed');
            dds.removeClass(HIDE);
            dts.removeClass(HIDE);

            // 初始选中样式
            dds.removeClass(THIS);
            index >= 0 && dds.eq(index).addClass(THIS);

            // 上下定位识别
            if(top + dlHeight > $win.height() && top >= dlHeight){
              reElem.addClass(CLASS + 'up');
            }