我正在开发一个Rails应用程序,我需要动态更改Select的列表。 我必须通过JavaScript为每个孩子添加一个类标记来做到这一点。
问题是,我似乎无法找到Select的正确ID。
选择是在ruby中进行的,在浏览器中它的信息就是这个。
在HTML中选择
<select id="relat[rond_cat_tipus][]_all" name="relat[rond_cat_tipus][]_all" size="8" multiple="multiple">
Javascript就是这个
$(document).ready(function() {
var list = $('select#relat[rond_cat_tipus][]_all').children();
for (var index = 0;index < list.length; index++){
if(list[index].html.indexOf("C-") > -1){
list[index].addClass("atu_si");
}else{
list[index].addClass("atu_no");
}
}
$(".relat_atu").on("change", function(){
if($(this).hasClass("relat_atu_yes")){
$(".atu_si").show();
$(".atu_no").hide();
}else{
$(".atu_si").hide();
$(".atu_no").show();
}
});
});
有关如何解决此问题的任何提示?
修改
非常感谢您的所有答案。多亏了你,我终于找到了解决方案。
如果有人遇到同样的问题我会张贴。
jQuery(function(){
jQuery("select#relat\\[rond_cat_tipus\\]\\[\\]_all").children().each(function(){
if(jQuery(this).html().indexOf("C-") > -1){
jQuery(this).addClass("atu_no");
}else{
jQuery(this).addClass("atu_si");
}
});
});
答案 0 :(得分:0)
试试这个:
var list = $('select#relat\\[rond_cat_tipus\\]\\[\\]_all').children();
答案 1 :(得分:0)
@Wiggin这将起作用:
var list = $('select[name="relat[rond_cat_tipus][]_all"]').children();
更新
$('select[name="relat[rond_cat_tipus][]_all"]').each(function(){
var list = $(this).children();
...
});
答案 2 :(得分:0)
jQuery(function(){
jQuery("select[name]").each(function(){
if(jQuery(this).attr("name").indexOf("relat[rond_cat_tipus][]_all")>-1){
jQuery("*", this).addClass("class-added");
}
});
});