2012-09-19 4 views
0

레일 애플리케이션을 개발 중이며 선택 목록을 동적으로 변경해야합니다. JavaScript를 통해 모든 어린이에게 클래스 태그를 추가해야합니다.선택하고 하위 클래스에 클래스 추가

문제는 선택의 올바른 ID를 찾을 수없는 것 같습니다.

선택은 루비로 이루어지며 브라우저의 정보는 다음과 같습니다. HTML에서

선택은

<select id="relat[rond_cat_tipus][]_all" name="relat[rond_cat_tipus][]_all" size="8" multiple="multiple"> 

자바 스크립트는이 문제를 해결하는 방법에 대한이

$(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

이 시도 :이 @Wiggin

var list = $('select#relat\\[rond_cat_tipus\\]\\[\\]_all').children(); 
0

가 작동합니다

var list = $('select[name="relat[rond_cat_tipus][]_all"]').children(); 

업데이트 :

$('select[name="relat[rond_cat_tipus][]_all"]').each(function(){ 
    var list = $(this).children(); 
    ... 
}); 
+0

같은 더 이상의 필드가있을 수 있습니다 이름 ... – Night2

+0

업데이트에 넣어 당신을 위해 작동하는지 확인하십시오. 당신이 그 데이터로 무엇을 할 것인지를 설명 할 수 있다면 가장 좋을 것입니다. 특정 이벤트를 기반으로 수집하려고하는 경우, 동일한 양식에 여러 선택 항목이나 다른 양식이 포함되어 도움이 될 것입니다. – Alex

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"); 
      } 
     }); 
    }); 
관련 문제