仅在选择单选按钮时启用textarea

时间:2012-02-23 09:27:11

标签: jquery textarea radio

我正在建立这个网站的反馈系统,并要求用户提供他们收到的服务的反馈。他们可以选择提供实际反馈或跳过整个事情。我有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>

然后,我有textarea用户提供实际反馈。

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

如果用户点击实际的单选按钮,我宁愿启用textarea ONLY 。如果没有,textarea仍然是禁用的。我该怎么办呢? (我在想jQuery)

谢谢,伙计们。

[编辑]

感谢您的快速输入,伙计们。此外,如果我可以添加,如果让我说我正在从MySQL中的数据生成行。这使得名称(即用户名1)名称=评级[1]和名称=反馈[1]。如何使用jQuery选择它们?

4 个答案:

答案 0 :(得分:5)

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

http://jsfiddle.net/933DJ/


根据您的评论更新:

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

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

答案 1 :(得分:3)

你应该像这样设置textarea

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

然后

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

答案 2 :(得分:1)

如果您使用的是jQuery 1.7+,则可以执行以下操作:

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

(注意使用prop vs attr)

答案 3 :(得分: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>