13

只有在选中某个收音机时,我才能以某种方式将所需的属性插入输入字段吗?

我有一个名为“ladder-meters”的输入字段,默认情况下不需要填写。但是,如果用户选中一个名为“ladder”的单选按钮,则需要填写“ladder-meters”字段。

我的输入如下所示:

<input type="text" name="ladder-meters" id="ladder-meters">

并且应该在电台的 onchange 活动中喜欢这个

<input type="text" name="ladder-meters" id="ladder-meters" required>
4

3 回答 3

18
document.getElementById("ladder").addEventListener('change', function(){
    document.getElementById("ladder-meters").required = this.checked ;
})

每当单击复选框时,将更改所需属性以匹配复选框的选中属性。要反转这种关系,请替换this.checked!this.checked

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

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

<input type='checkbox' id='ladder' name='ladder' />
于 2012-08-15T10:22:05.983 回答
18

试过 F. Orvalho,对我不起作用,我不得不使用

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

它可能很有用。感谢 F. Orvalho 的结构

于 2015-06-15T08:08:39.833 回答
14

使用 jQuery 轻松实现:

$('#ladder').change(function () {
    if($(this).is(':checked') {
        $('#ladder-meters').attr('required');
    } else {
        $('#ladder-meters').removeAttr('required');
    }
});
于 2012-08-15T10:20:56.850 回答