2014-03-01 51 views
0

我的代碼:JQuery的隱藏輸入框,但不輸入的值

HTML:

<input type="submit" value="Show/Hide Box" id="sub" /> 
        <input type="text" id="text" value="Keep Me" /> 

JQuery的:

$(document).ready(function(){ 
    $("#sub").click(function(){ 
     $("#text").toggle(); 
    }); 
}); 

我想說明&隱藏輸入每次提交按鈕被點擊,但始終顯示輸入的值。我認爲replaceWith()可能會工作,但我不知道如何將我現在與它結合起來。無論如何,如果有更好的解決方案,把它放在那裏。

+0

這樣http://jsfiddle.net/byL8L/ – Rex

+0

你爲什麼要顯示/隱藏輸入框但不是它的值?你不能只使用readonly屬性嗎? –

回答

0

你可以把文本框的值在一個範圍或任何其他元素,只需切換其顯示

$(document).ready(function() { 
    $("#txt").hide() 
    $("#sub").click(function() { 
     $("#text").toggle(); 
     $("#txt").html($("#text").val()); 
     $('#txt').toggle(); 
    }); 
}); 

Demo Fiddle
+0

非常感謝。 – NotToBrag

+0

快速問題:默認情況下,如何讓文本在沒有輸入框的情況下顯示。 – NotToBrag

+0

快速回答,將文本放在範圍內,並且不要將其隱藏默認 – Rex

0

我猜你的意思上提交禁用文本字段

$('input[type=submit]').on('click',function(){ 
    $('input[type=text]').attr('disabled','disabled'); 
}); 

現場演示:

http://jsfiddle.net/dreamweiver/xy5uh/6/

編碼快樂:)

+0

屬性名稱爲'disabled',第二個參數應該是一個布爾值。 – undefined

+0

@undefined:謝謝你。 – dreamweiver

+0

不客氣。你爲什麼改變方法?對於修改屬性,應該使用「_」方法(_correctly_)。 – undefined

0

一個最佳解決方案是爲具有一個div來顯示文本和值輸入。

<div class="display-text"></div> 
<div class="input-text"><input type="text" name="message" class="message" /></div> 
<input type="submit" name="postme" id="sub" /> 

然後做款式:

<style> 
.display-text { display:none; } 
</style> 

最後一步的jQuery:

$(document).ready(function(){ 
    $("#sub").click(function(){ /// onblur of 
     $(".display-text").html($(".message").val()); /// add text to div 
     $(".input-text").toggle(); /// hide your input 
     $(".display-text").toggle(); /// show text 
    }); 
});