2011-07-28 106 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()); 
    }); 

});