如果选中无线电,则需要输入字段

Mor*_*agh 13 javascript html5 onchange radio-button required

只有在检查某个无线电时,我才能以某种方式将所需属性插入输入字段吗?

我有一个名为"梯度计"的输入字段,默认情况下不需要填充.但是,如果用户检查名为"梯形"的单选按钮,则需要填充"梯形仪表"字段.

我的输入如下:

<input type="text" name="ladder-meters" id="ladder-meters">
Run Code Online (Sandbox Code Playgroud)

并且应该在收音机的onchange事件中这样做

<input type="text" name="ladder-meters" id="ladder-meters" required>
Run Code Online (Sandbox Code Playgroud)

小智 18

尝试F. Orvalho,没有为我工作,我不得不使用

$('#ladder').change(function () {
    if(this.checked) {
        $('#ladder-meters').prop('required', true);
    } else {
        $('#ladder-meters').prop('required', false);
    }
});
Run Code Online (Sandbox Code Playgroud)

它可能很有用.Thx到F. Orvalho的结构


Col*_*der 17

document.getElementById("ladder").addEventListener('change', function(){
    document.getElementById("ladder-meters").required = this.checked ;
})
Run Code Online (Sandbox Code Playgroud)

只要单击该复选框,就会更改required属性以匹配复选框的checked属性.要扭转这种关系,请替换this.checked!this.checked

这可能需要一些调整以适合您的特定项目.

这将与此复选框一起使用:

<input type='checkbox' id='ladder' name='ladder' />
Run Code Online (Sandbox Code Playgroud)


小智 13

使用jQuery轻松实现:

$('#ladder').change(function () {
    if($(this).is(':checked') {
        $('#ladder-meters').attr('required');
    } else {
        $('#ladder-meters').removeAttr('required');
    }
});
Run Code Online (Sandbox Code Playgroud)

  • jQuery的七个错综复杂的行将总是击败3行纯粹的'javascript.自我注意:必须包含更多库. (3认同)