2011-07-28 79 views
0

我有两个点击事件和两个按钮。一个按钮被隐藏,一个输入被隐藏。jQuery只获取输入的默认值

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

一些示例代码,不看语法只是作为一个例子


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

我使用delegate试过了,但它是一样的click结果。

+0

您必须将最小的自包含示例放在一起,然后将代码发布到问题(也可以将*代码发布到http://jsbin.com或http://jsfiddle.net,但总是在代码中包含代码)。 –

回答

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" /> 
0
$('#button1').click(function(){ 
    $('#button2').show(); 
    $('#input2').show(); 
    return false; 
}); 

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

在这种情况下,实在没有理由,你必须使用委托,但由我读过的真的不是一个坏主意。

下面是一个示例JSfiddle正在做我认为你想要的东西,从你的问题中有点难以分辨。

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

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

});