在条件jquery上启用按钮/输入区域

时间:2012-06-21 15:46:06

标签: javascript jquery button

我正在努力弄清楚如何在某种条件下启用文本框。所以,在下面的例子中,我想要输入框" name"在按钮" enterName"之前被禁用点击。然后当输入框中的某些内容输入" name"我想要" useName"按钮启用(或只是弹出一个警告框,上面写着"输入名称")

<button id="enterName"> Enter a Name </button>
Name: <input type="text" id="name" disabled="disabled"/>
<button id="useName" disabled="disabled"> Use this name </button>

现在,我有这个:

$(document).ready(function(){
   $("button:#enterName").click(function(){

       /* ??? */

     });
    });

$(document).ready(function(){
  $("button:#useName").click(function(){

    $("div.nameUsing").append($('input#name').val());
    $('input#name').val("");   //reset input field

 });
});

我不知道如何启用文本框&#34; enterName&#34;按钮,或者当&#34; useName&#34;时如何检查输入?按下按钮。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

尝试使用removeAttr。例如:

$("#enterName").click(function() {
    $('#name').removeAttr('disabled');
});

答案 1 :(得分:1)

您想使用.prop() jQuery API启用或禁用控件。

经过测试和working

$(document).ready(function () {
    $("button#enterName").click(function () {
        $('input#name').prop('disabled', false);
    });
    $('input#name').change(function () {
        $("button#useName").prop('disabled', $(this).val().length === 0); //enable if length > 0, disable otherwise
    });
    $("button#useName").click(function () {
        $("div.nameUsing").append($('input#name').val());
        $('input#name').val("");   //reset input field
    });
});​

答案 2 :(得分:1)

试试这个

$("#enterName").click(function() {
   $('#name').prop('disabled', false);
})

$('#name').keyup(function(){
    $('#useName').prop('disabled', $(this).val().length == 0);
});​

jsFiddle demo