我正在建立这个网站的反馈系统,并要求用户提供他们收到的服务的反馈。他们可以选择提供实际反馈或跳过整个事情。我有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选择它们?
答案 0 :(得分:5)
$('input[name="rating"]').on('change', function() {
$('textarea[name="feedback"]').show();
});
根据您的评论更新:
$('input[name="rating"]').on('change', function() {
$('textarea[name="feedback"]').attr('disabled', false).focus();
});
答案 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>