javascript - 选中 radio 时添加必需属性

标签 javascript required

我有一组名为“价格”的单选按钮。选择“€”单选按钮后,我想关注一个文本输入字段,并且该文本输入字段应该是必需的。 当我单击另一个选项时,应该删除所需的属性。

这可以通过 Javascript 或 jQuery 实现吗? 我在这里找到了一个 jQuery 片段,但它似乎不起作用。这就是我现在拥有的:

<input type="radio" name="price" value="value" id="value_radio" onclick="document.getElementById('value_input').focus()" required>

<label for="value_input">&euro;</label>
<input type="text" name="price_value" id="value_input" pattern="\d+(,\d{1,2})?" 
    onclick="document.getElementById('value_radio').checked=true">

<script>
    $('#value_radio').change(function () {
        if($(this).is(':checked')) {
            $('#value_input').attr('required');
        } else {
            $('#value_input').removeAttr('required');
        }
    });
</script>

<input type="radio" name="price" id="free" value="free">
<label for="free">Free</label>

JSFiddle:http://jsfiddle.net/fhfrzn1d/

最佳答案

根据 this answer ,您必须监视两个 radio 输入的变化。因此,将您的 javascript 脚本移到第二个广播之后。

还缺少一个)

fiddle 更新:http://jsfiddle.net/fhfrzn1d/1/

$('input[name="price"]').change(function () {
    if($("#value_radio").is(':checked')) {
        $('#value_input').attr('required', true);
    } else {
        $('#value_input').removeAttr('required');
    }
});

关于javascript - 选中 radio 时添加必需属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25340186/

相关文章:

javascript - 在 HTML5 DND 中将 application/json 设置为 dragstart 期间的数据

javascript - 如何检测 Mousedown + Mousemove 向左或向右方向

javascript - 如何在reactjs中的两个字符串之间添加<br>标签?

java - 对于 Integer,XmlElement required = true 不起作用

jquery - Django 模板 field.is_required 解决方法

需要 Javascript 对象 (IE8)

asp.net-mvc-3 - mvc dropdownlistfor 未标记为必需,但仍然是必需的

javascript - 当元素到达页面顶部时淡入淡出?

javascript - 在 Vuex 突变中使用 `Vue.nextTick` 是否违反惯例?它会破坏什么东西吗?

python - 类型错误:需要 float - Python