2012-02-23 4 views
0

나는이 웹 사이트에 피드백 시스템을 가지고 있으며 사용자는받은 서비스에 대한 피드백을 제공해야합니다. 그들은 실제 피드백을 제공하거나 전체 내용을 건너 뛸 수있는 선택권이 있습니다. I 2 개 라디오 버튼 (포지티브 1, 다른 음극)이이어서라디오 버튼이 선택된 경우에만 텍스트 영역을 활성화하십시오.

<input type="radio" name="rating" value="1" id="green" /><label for="green">Positive</label><br /> 
<input type="radio" name="rating" value="0" id="red" /><label for="red">Negative</label> 

를 I 사용자가 실제 피드백을 제공하기위한 textarea있다.

<textarea style="width: 95%;" rows="6" name="feedback"></textarea> 

차라리 텍스트 영역이 실제 라디오 버튼을 사용자가 클릭하면 을 사용하도록 설정 한 것입니다. 그렇지 않으면 텍스트 영역이 비활성화 된 상태로 유지됩니다. 이 문제를 어떻게 해결해야합니까? (나는 jQuery를 생각하고있다.)

고마워.

[편집]

빠른 입력을 주셔서 감사합니다. 또한 내가 추가 할 수 있다면 MySQL의 데이터에서 행을 생성한다고 가정 해 봅시다. 이름을 만드는 것 (즉, userid 1) name = rating [1] and name = feedback [1]. jQuery를 사용하여 이들을 어떻게 선택합니까?

답변

4
귀하의 의견에 따라3210

http://jsfiddle.net/933DJ/


업데이트 :

$('input[name="rating"]').on('change', function() { 
    $('textarea[name="feedback"]').attr('disabled', false).focus(); 
}); 

http://jsfiddle.net/933DJ/1/

+0

고마워, 내가 텍스트 영역을 표시하고 숨길 수 없더라도. –

+0

@MikeSanchez : 내 대답을 업데이트했습니다. – Geert

+0

감사! http://jsfiddle.net/hqfBt/ jQuery가 모든 텍스트 영역이 아닌 라디오 버튼에 해당하는 텍스트 영역을 활성화하기를 원합니다. –

2

당신은 같은 텍스트 영역을 설정해야이

<textarea style="width: 95%;" rows="6" name="feedback" disabled></textarea> 

다음

$('input[name=rating]').click(function(){ 
    $('textarea[name=feedback]').removeProp('disabled'); 
}) 
+0

removeProp을 말할 영업 이익 그냥 노트 1.6을위한 것이며 이후, ATTR는 것 1.6보다 이전에 작동 – SpaceBison

+0

감사합니다. 그리고 데이터를 사용하여 행을 생성한다고 가정 해 봅시다. SQL. 이름을 만드는 것 (즉, userid 1) name = rating [1] and name = feedback [1]. 나의 나쁜, 나는 질문에 이것을 포함하는 것을 잊었다. –

+0

@MikeSanchez 그러면이 특수 문자를 이스케이프 처리해야합니다. '$ ('input [name = rating \\ [1 \\]] ') –

1

당신이 jQuery를 1.7+를 사용하는 경우, 당신은 할 수 있습니다 :의

$("input[name=rating]").click(function(){ 
    $("#textareaid").prop("disabled", this.checked); 
}); 

(주 사용을 소품 대 대리점)

0
<form name="f1" action="" > 
<input type="radio" name="rating" value="1" id="green" onclick="somefunction(0)"/><label for="green">Positive</label><br /> 
<input type="radio" name="rating" value="0" id="red" onclick="somefunction(1)" /><label for="red">Negative</label> 
<textarea style="width: 95%;" rows="6" name="feedback" readonly="readonly" ></textarea> 
</form> 
<script type="text/javascript"> 

function somefunction(val) 
{ 
    if(val) 
document.f1.feedback.setAttribute("readonly",val) 
else 
document.f1.feedback.removeAttribute("readonly",val) 


} 
</script> 
관련 문제