이 문제로 어제 오후부터 정신이 없습니다. 나는 우리 사이트의 견적 계산기에서 일해 왔고, 나는 내 양식에 라디오 버튼의 스타일을 넣으려고하고있다. 견적 계산기는 여기에서 볼 수 없습니다 : 당신이 볼 수 있듯이jQuery 입력 [name = ""] 선택기가 작동하지 않습니다.
http://www.thoughtspacedesigns.com/services/web-services/web-design/web-design-quote-calculator
, 때 질문, 인세 오렌지의 배경 변경에 예 중 하나를 클릭하거나 더. 이들은 레이블이 부착 된 라디오 버튼 일뿐입니다. 다음은 몇 가지 샘플 HTML입니다.
<input type="radio" name="cms" value="yes" id="cms1" /><label for="cms1">Yes</label>
<input type="radio" name="cms" value="no" id="cms2" /><label for="cms2">No</label>
같은 양식에 여러 개의 '예/아니요'라디오 그룹이 있습니다. 나는 그 다음에 display : none; 라디오 버튼을 클릭하고 그에 따라 라벨의 스타일을 지정합니다. 라벨을 클릭하면 다음, 내가 지금처럼, 그것에 클래스를 추가 할 jQuery를 사용 라디오 버튼의 라벨을 클릭하면
$("label").live('click', function() {
var thisInput = $(this).prev("input");
var radioGroup = thisInput.attr("name");
$(this).addClass("checked");
$(":radio[name='"+radioGroup+"']").not(thisInput).next("label").removeClass("checked");
}
);
그래서 당신이 볼 수 있듯이,의 클래스는 "확인"추가 그 레이블에. 이 클래스는 내 스타일 시트에 지정된 스타일 (배경색)을가집니다. 그런 다음 클릭하지 않은 동일한 이름의 모든 라디오 버튼에 "checked"클래스가 제거되어야합니다.
FireFox 및 Chrome에서 훌륭하게 작동하지만 IE8 (또는 IE7)에서 시도해도 문제가 없지만 모든 항목이 올바르게 작동하지만 클래스가 제거되지 않으므로 $(":radio[name='"+radioGroup+"']")
선택자가 작동하지 않는 것으로 보입니다. 본질적으로 IE에서 내 레이블은 "강조 표시"되지 않습니다. 난 pseudoselectors, 필터를 사용하여 선택기의 많은 변형을 시도하고 여전히 운이. 아무도 이것에 대해 통찰력을 가지고 있습니까?
'.live'는 더 이상 사용되지 않으며'.on'을 대신 사용하십시오. –
IE9에서이 작업을합니까 + –
.on으로 시도해도 여전히 주사위가 없습니다. 나는 맥을 사용하고 실제로 ie9에 접근하지 않는다. 그래서 나는 확실하지 않다. –