jQuery只获取输入的默认值

时间:2011-07-28 17:19:39

标签: jquery button input click show

我有两个点击事件和两个按钮。隐藏了一个按钮,隐藏了一个输入。

当我点击未隐藏的按钮时,会出现隐藏按钮和隐藏的输入。当我单击隐藏的第二个按钮时,我得到输入的默认值。这是问题,它获得了默认值,默认情况下,我的意思是我在代码中value='dasad'中输入的内容。它没有获得用户输入的值。

一些示例代码,不要将语法看作一个例子


    $(button1).click(funciton(){
     $(button2).show();
    $(input2).show();
    })
    $(button2).click(function(){
    $(input2).val();
    })

我尝试使用delegate,但它与click结果相同。

3 个答案:

答案 0 :(得分:1)

我尝试了以下内容并且能够让它工作

$(document).ready(function() {
$('#button1').click(function(){
    $('#button2').show();
    $('#input2').show();
});
$('#button2').click(function(){
    alert($('#input2').val());
})
});

按钮设置为

<button id="button1">hello</button>
<button id="button2" style="display:none">hello 2</button>
<input id="input2" style="display:none" type="text" />

答案 1 :(得分:0)

$('#button1').click(function(){
    $('#button2').show();
    $('#input2').show();
    return false;
});

$('#button2').click(function(){
    var value = $('#input2').val();
    alert(value);
    return false;
});

答案 2 :(得分:0)

在这种情况下,你真的没有理由使用委托,但从我所看到的内容来看,这绝不是一个坏主意。

以下是JSfiddle做我认为你想要的事情的例子,从你的问题中说出来有点难以理解。

$(document).ready(function() {
    $(".wrapper").delegate(".button1", "click", function() {
        $(".innerDiv").show();
        $(".input1").focus();
    });

    $(".wrapper").delegate(".button2", "click", function() {
        $(".showVal").html($(".input1").val());
    });

});