2013-10-25 6 views
0

jquery에 문제가 있습니다. 작동하도록 솔기를 짤 수 없습니다.jQuery 선택기의 대괄호

설문 조사를하고 있으며 모든 질문의 마지막 라디오 옵션이 다른 경우 사용자가 유사 텍스트를 입력 할 수 있습니다. 라디오가 선택되어 있고 텍스트 상자가 피어 (peer)이어야 할 때까지 텍스트 상자를 숨기고 싶습니다.

이걸로 시도 :

$(document).ready(function() { 
    $("#custom_form_custom_field_2_block").hide(); 

    $("input:radio[name=custom_form[custom_field_1]]").change(function() { 
     if (this.value == "jeg har et helt 4. forslag") { 
      $("#custom_form_custom_field_2_block").fadeIn(); 
     } else { 
      $("#custom_form_custom_field_2_block").fadeOut(); 
     } 

    }); 

    $("#custom_form_custom_field_2_block").focusout(function() { 
     $("input:radio[name=Title]:checked").attr('value', $("#custom_form_custom_field_2_block").val()); 
    }); 
}); 

여기 후지산의 바이올린에 대한 링크가 있습니다

JSFiddle, 당신이 도움이 될 수 있습니다 희망을 감사 토마스

+0

당신은 당신의 jsFiddle에서 jQuery를 활성화해야합니다 : 여기에 CSS 선택기에서 탈출 문자에 몇 가지 추가 정보가 있습니다. 왼쪽에있는 메뉴 막대를 사용하여 올바른 버전을 선택하십시오. 그런 다음 Firefox의 Chrome/IE 또는 Firebug에서 개발자 도구 모음을 실행하십시오. 오류는 다음과 같습니다. Uncaught Error : 구문 오류, 인식 할 수없는 표현식입니다. input : radio [name = custom_form [custom_field_1]] – jasonscript

답변

2

을 나는이 줄을 믿습니다 문제 :

$("input:radio[name=custom_form[custom_field_1]]") 

대괄호 ("["및 "]")는 CSS 선택기 (jQuery의 $() 함수에 이러한 선택기를 전달 함)의 예약 문자이며 요소 이름의 일부로 대괄호를 사용하고 있습니다. 대신을 시도하여 브래킷을 탈출

input:radio[name=custom_form\[custom_field_1\]] 

의 CSS 선택기를 산출

$("input:radio[name=custom_form\\[custom_field_1\\]]") 

합니다. 모든 브라우저에서 작동하지 않을 수 있습니다.

편집 : http://mathiasbynens.be/notes/css-escapes

+0

Holly molley가 트릭을했습니다. Grüse 정말 고마워요! – maschm