2014-09-10 48 views
0

我试图从Formstone风格选择列表中使用称为“selecter”的jQuery插件。 CSS的最大宽度设置为30%,这正是我的页面上发生的情况,而且比我想要的大得多。 (我也不喜欢它是动态的。)我想根据具体情况控制宽度。该文件有以下几个选项:jQuery customClass语法(jQuery Selecter)

定义自定义CSS类具有相同的页面上有多个视觉上不同Selecters:

$("select").selecter({ 
    customClass: "custom" 
}); 

什么似乎是合乎逻辑对我来说,如果我有多个宽度我想有可,我应该能够做到像下面这样:

$("select").selecter({ 
     customClass: "width1, width2, width3" 
}); 

...然后在类似于CSS定义这些类:

.width1 { 
    width: 200px;  
} 

.width2 { 
    width: 300px 
} 

...并有选择标签设置是这样的:

<select class="width1"> 
    <option>Option 1</option> 
    <option>Option 2</option> 
</select> 

遗憾的是,似乎有在页面上没有任何影响。

我也试过:

$("select").selecter({ 
    customClass: document.getElementById("select1").style.width="200px"; 
}); 

,然后引号内:

$("select").selecter({ 
    customClass: "document.getElementById("select1").style.width="200px";" 
}); 

...这完全删除所有的造型从选择框,它看起来好像插件ISN根本没有安装。

我应该如何设置jQuery插件中的customClass以获得所需的结果?我想我可以把每个选择列表放在它自己的DIV中,并将插件的CSS文件中的最大宽度更改为100%,但对我来说这似乎有些荒谬。

期待听到您的建议。谢谢。

回答

1

如果您将自定义类作为参数传递给.selecter(),它将应用于所有通过调用插件实例化的Selecter实例。此外,正如你所看到的,你不能直接把课程放在<select>上,因为Selecter隐藏它并显示自己的自定义创建

所以,如果你打算有多种类型的选择框,你可以在该特定的<select>上包含自定义类作为data-选项。 Selecter会阅读并尊重这个选项。

<select name="selecter_custom" data-selecter-options='{"customClass":"width1"}'> 

... 

$('select').selecter(); 

现在您可以像预期的那样将宽度应用于.width1