从<select>列表框</select>中删除滚动电梯

时间:2011-04-07 02:31:45

标签: jquery html

如何从元素中移除电梯。理想情况下,我想使用jquery来计算框中元素的数量,如果它大于n则隐藏滚动。

感谢您的建议。

3 个答案:

答案 0 :(得分:0)

我只是隐藏的项目大于您要显示的数字,例如jsfiddle

**编辑**

我修改了上面的小提琴

这是html

<select name="foo" id="myselect" multiple="true" siz="4">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
</select>
<input type="checkbox" id="mycheckbox" />

和jQuery

   $('#myselect').data('removedOptions', $('#myselect > option:gt(3)').detach() );

我已经存储了选项,因此你可以像这样把它们放回去

var $dropdown = $('#myselect');
  $dropdown.prepend( $dropdown.data('removedOptions') );

答案 1 :(得分:0)

嗯,互联网告诉我你不能用CSS / jQuery做到这一点:

http://www.webdeveloper.com/forum/showthread.php?t=154496Hide vertical scrollbar in <select> element

<select>元素不是“普通”元素。它的渲染似乎不能通过CSS完全控制。您可以设置高度/宽度/等,但不能设置overflow属性。 JQuery只能在加载原始DOM之后修改元素本身或应用CSS规则。

您可以在jQuery UI library中找到可以执行此操作的自定义控件。

答案 2 :(得分:0)

@mcgrailm:您的解决方案无法在Chrome上运行。 所以,我建议我们可以使用带有remove()函数的代码替换hide()函数。

这是@mcgrailm的另一个版本: http://jsfiddle.net/vietean/W4nzn/1/