单击字段启用非活动字段

时间:2013-05-21 18:22:15

标签: javascript forms

是否可以拥有一组非活动字段,如果单击其中一个字段,某些字段将成为必填字段并运行某些代码段?比如说你有三个显示的字段:

<input type="text" id="gov1" name="gov1">

<input type="text" id="parentb" name="parentb">

<input type="checkbox" name="child" id="child">

这三个字段最初都处于非活动状态;但是你说你点击其中一个字段,它现在使其余字段成为活动和强制性的,并且某些代码段在字段“parentb”上运行,并且它在readonly上归属。

window.onload = function(event)
{
    var $input2 = document.getElementById('dec');
    var $input1 = document.getElementById('parentb');
    $input1.addEventListener('keyup', function()
    {
        $input2.value = $input1.value;
    });
}

我已经做了一些搜索,但我似乎无法找到任何有用的特定情况,我对JavaScript很新,所以任何形式的帮助都会很棒。这完全可以使用JavaScript吗?或者类似的可能吗?

1 个答案:

答案 0 :(得分:0)

您正在寻找的此方法称为“链式选择”方法。

jQuery框架用于以下示例:

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<form action="" method="get">
    <label>
    <input name="Government" type="checkbox" value="">Government</label>
    <br>
    <label>
    <input name="Parent" type="checkbox" id="parent_child_group" value="">Parent</label>
    <br>
    <label>Name of Child
    <input type="text" name="parent_child" value="" class="parent_child_group"></label>
    <br>
    <label>Other
    <input type="text" name="parent_other" value="" class="parent_child_group"></label>
</form>

<script type="text/javascript">
    $(document).ready(function () {
         $(function() {
             enable_cb();
             $("#parent_child_group").click(enable_cb);
         });

         function enable_cb() {
             if (this.checked) {
                 $("input.parent_child_group").removeAttr("disabled");
             } else {
                 $("input.parent_child_group").attr("disabled", true);
             }
         }
    });        
    </script>
    </body>
    </html>

JSFiddle上的工作示例:http://jsfiddle.net/farondomenic/fg7p8/1/