如何控制select2选择标记的宽度

时间:2016-02-12 14:02:24

标签: css ruby-on-rails select2

使用css设置select2的宽度被select2

的javascript调用覆盖
// javascript
$(function() {
  renderSelect("select");
  $("div#s2id_countries").width(300);
});

# HAML example (Rails)
 = select_tag "countries", options_for_select(@countries), class: 'some-ignored-css-class'

相关:How to control the width of select tag?

2 个答案:

答案 0 :(得分:1)

问题不是javascript,问题是您没有保留CSS。

设置宽度的方法是使用CSS。甚至你的JS也设置了CSS(.width):

  

.css(width).width()之间的区别在于后者返回无单位像素值(例如,400),而前者返回单位完整的值(例如,400px)。他们都设置了CSS" style"元件

更好的方法是在"容器上设置CSS"元素,或确保您在调用renderSelect函数时持久保存CSS:

Container

#app/assets/stylesheets/application.css
.container select { width: 50px; }

#app/views...
.container= select_tag "countries", options_for_select(@countries)

使用容器将允许您在容器上设置CSS,从而无需在select本身上使用该类。虽然这意味着添加一个容器div,但它会给你最大的自主权。

-

JS

另一种方法是更改​​renderSelect功能,使其成为当前select&的等级。将它附加到新元素。

由于我不了解您的renderSelect功能,因此我只能提供相应级别的建议。

答案 1 :(得分:-1)

解决方案是再次使用javascript

TitleExtension

啊,Javascript,生活中所有问题的原因和解决方案

(任何改进?)