单击其他单选输入时启用/禁用文本输入

时间:2020-05-06 23:51:21

标签: javascript html jquery

我有两个输入广播和一个输入。如果单击单选按钮值为exam-two,我想禁用文本输入,如果选择exam-one,请启用文本输入。我该怎么办?

$(document).ready(function(){
    $('input[name="tekcift-yon"]').click(function(){
        $('.attr-sys').attr('disable').siblings().attr('disable');       
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label><input type="radio" name="exam" value="exam-one" /> Exam one</label>
<label><input type="radio" name="exam" value="exam-two" /> Exam two</label>

<input type="text" class="attr-sys" value="exam to click disable this input" />

2 个答案:

答案 0 :(得分:2)

因此,当单击“两次考试”单选输入时,是否需要“ attr-sys”输入集的disabled属性?

好的。

let input = document.querySelector('.attr-sys');
function clickExamTwo() {
  input.disabled = true;
}

function clickExamOne() {
  input.disabled = false;
}
<label><input type="radio" name="exam" value="exam-one"
  onclick="clickExamOne();"/> Exam one</label>
<label><input type="radio" name="exam" value="exam-two"
  onclick="clickExamTwo();"/> Exam two</label>

<input type="text" class="attr-sys" value="exam to click disable this input" />

答案 1 :(得分:1)

您可以通过在单选按钮上附加事件侦听器来更改事件,检查值并根据条件添加禁用的prop来输入来实现此目的,这是一个有效的代码段:

$(document).ready(function(){
    $('input[name="exam"]').on('change', function(){
       if($(this).val() === 'exam-two') {
         $('.attr-sys').prop('disabled', true);  
       }
       else {
         $('.attr-sys').prop('disabled', false);  
       }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label><input type="radio" name="exam" value="exam-one" /> Exam one</label>
<label><input type="radio" name="exam" value="exam-two" /> Exam two</label>

<input type="text" class="attr-sys" value="exam to click disable this input" />