在jquery中启用或禁用表单元素

时间:2011-02-11 05:39:07

标签: jquery

如何使用jquery正确禁用和启用表单元素。我点击选择时需要禁用文本表单元素。反之亦然。

<html>
    <head>
    <script src="jq.js"></script>
    <script>

    $(function(){

    $('#fromdate').click(function(){
        $('#yosh').attr('disabled','disabled');
        $('#fromdate').removeAttr('disabled');
    });

    $('#yosh').click(function(){
        $('#yosh').removeAttr('disabled');
        $('#fromdate').attr('disabled','disabled');
    });

    });
    </script>

    </head>
    <body>
    Sort by:
    <select name="yosh" id="yosh">
    <option value="daily">daily</option>
    <option value="weekly">yesterday</option>
    <option value="weekly">weekly</option>
    <option value="monthly">monthly</option>
    <option value="yearly">yearly</option>

    </select><br/>
    date range:<br/>

    From:<input type="text" value="" name="fromdate" id="fromdate"></input><br/>
    To:<input type="text" value="" name="todate" id="todate"></input><br/>


    Customer:<input type="text" value="" name="customer" id="customer"></input>

    </body>

    </html>

5 个答案:

答案 0 :(得分:18)

我在评论中写的内容示例:

<span id="spnSel">
    <select name="yosh" id="yosh">
        <option value="daily">daily</option>
        <option value="weekly">yesterday</option>
        <option value="weekly">weekly</option>
        <option value="monthly">monthly</option>
        <option value="yearly">yearly</option>
    </select>
</span>

添加此活动:

$('#spnSel').mouseover(function () {
   $('#yosh').prop('disabled', false);
});

您也可以为文本框执行此操作。这可能不是最好的解决方案/方法,但它可以完成这项工作。

答案 1 :(得分:13)

语法是

$('formelement').attr('disabled',true);

或重新启用

$('formelement').removeAttr('disabled');

答案 2 :(得分:2)

看看这个......

<script>

    $(function(){

    $('#fromdate').click(function(){
        $('#yosh').attr('disabled',true);
        $('#fromdate').removeAttr('disabled');
    });

    $('#yosh').click(function(){
        $('#yosh').removeAttr('disabled');
        $('#fromdate').attr('disabled',true);
    });

    });
    </script>

答案 3 :(得分:0)

我测试你的代码,我得出的结论是,当元素被禁用时你不能添加事件,所以你必须使用触发器......

DEMO

答案 4 :(得分:-1)

$('#fromdate').disabled = false