简体   繁体   English

如何在页面加载时根据选中的单选按钮禁用文本区域?

[英]How do I disable text areas based on what radio button is checked when the page loads?

I want to improve upon this script for disabling text areas by radio button selection. 我想改进此脚本,以通过单选按钮选择禁用文本区域。 Currently when "yes" is selected the text areas should be disabled and enabled when "no" is selected. 当前,当选择“是”时,应在选择“否”时禁用并启用文本区域。

What do I need to change so the text areas are disabled when the page first loads and if the correct radio button is checked?(yes is checked by default if no change has been made) 我需要更改什么,以便在首次加载页面时选中文本区域,并且是否选中了正确的单选按钮?(如果未进行任何更改,则默认选中是)

Please bare in mind this page will be refreshed and redirected to so I will need to check the actual selection on the radio buttons. 请记住,此页面将刷新并重定向到,因此我将需要检查单选按钮上的实际选择。 I was just setting them to all be disabled on load before but this disabled text areas even when I had the correct radio button selected. 我只是将它们设置为在加载之前全部禁用,但是即使我选择了正确的单选按钮,这也会禁用文本区域。

HTML 的HTML

<div class="group">
    <input type="radio" name="choice1" value="yes" checked/>Yes
    <input type="radio" name="choice1" value="no" />No
</div>
<div class="group">
    <input type="radio" name="choice2" value="yes" checked/>Yes
    <input type="radio" name="choice2" value="no" />No
</div>
<div class="group">
    <input type="radio" name="choice3" value="yes" checked/>Yes
    <input type="radio" name="choice3" value="no" />No
</div>        
<div>
    <textarea data-trigger="choice1" rows="4" cols="20"></textarea>
    <textarea data-trigger="choice2" rows="4" cols="20"></textarea>
    <textarea data-trigger="choice3" rows="4" cols="20"></textarea>
</div>

Javascript/JQuery Javascript / JQuery

    $(function () {

    var $choices = $(".group").find(":radio");
    $choices.on("change", function () {
        var $this = $(this);
        var choiceName = $this.attr('name'); 
        var tarea = $('[data-trigger="' + choiceName + '"]');
        if ($this.val() === "yes") {
            tarea.val('');
            tarea.prop('readonly', true);
            tarea.css('background-color', '#EBEBE4');
        } else {
            tarea.prop('readonly', false);
            tarea.css('background-color', '#FFFFFF');
        }
    });
});

Hope that's clear enough. 希望这很清楚。

try 尝试

$(".group").find(":radio[value=yes]:checked").each(function () {
    $('[data-trigger="' + $(this).attr("name") + '"]').prop('readonly', true).css('background-color', '#EBEBE4');
});

DEMO 演示

Add the class attribute to your textarea 将class属性添加到您的textarea

<div>
    <textarea data-trigger="choice1" rows="4" cols="20" class="group"></textarea>
    <textarea data-trigger="choice2" rows="4" cols="20" class="group"></textarea>
    <textarea data-trigger="choice3" rows="4" cols="20" class="group"></textarea>
</div>

in your script:- 在您的脚本中:-

$( document ).ready(function() {
 $("textarea.group").attr("disabled", true);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用php在下一页上保持选中单选按钮? - How do I keep checked radio button on the next page with php? 选中分配给它的单选按钮时,如何使输入/文本字段为必填字段? - How do I make an input/text field mandatory when the radio button assigned to it is checked? Javascript:当选中/选中分配给它的单选按钮时,如何使输入/文本字段为必需字段? - Javascript: How do I make an input/text field mandatory(required) when the radio button assigned to it is checked/selected? 如何根据在 JavaScript 中单击的单选按钮禁用文本框? - How do i disable textboxes based on what radio button is clicked in JavaScript? 如果没有选中单选按钮,我该怎么做 - how can i do a function when radio button is not checked 选中单选按钮时如何获取值? - How do I get values when radio button is checked? 如何根据选中的单选按钮禁用某些复选框? - How to disable some of the checkboxes based on checked radio button? 如果选中单选按钮,如何获取单选按钮的文本? - How can I get the text of radio button if radio button checked? 页面加载时显示与单选按钮匹配的文本字段 - Display text field that matches radio button when page loads 在 JavaScript 中选中单选按钮时如何禁用输入文本? - How to disable input text while the radio button is checked in JavaScript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM