2011-07-11 13 views
0

私はそのテキストボックスに任意の値を入力し、タブボタンを押す必要がある場合。テキストボックスが削除され、値が表示されます。このように$('#txt').val();jqueryでテキストボックスを無効にする方法は?

どうすればいいですか?

$('#txt').blur(function(){ 
    $(this).hide().after($(this).val()); 
}); 

の作業例:あなたは上記の準拠するように、あなたのHTMLマークアップを変更することができない場合他は、述べてきたように

答えて

1

ここからヒップホップ。これはあなたが探しているものですか?

$('input[type="text"]').blur(function() { 
    $(this).hide().after($('<span>').text($(this).val())); 
}); 

$('input[type="text"]').keydown(function (e) { 
    if (e.keyCode == 9) { 
    $(this).hide().after($('<span>').text($(this).val())); 
    } 
}); 
1
<div> 
<input type='text' id='txt'> 
</div> 

//If you don't require a tab push 
$('#txt').live('blur'){ 
    var value = $(this).val(); 
    if(value){ 
     $(this).parent().html(value); 
    }  
} 

//If you want tab only 
$('#textbox').live('keydown', function(e) { 
    var keyCode = e.keyCode || e.which; 

    if (keyCode == 9) { 
    e.preventDefault(); 
    var value = $(this).val(); 
    if(value){ 
     $(this).parent().html(value); 
    }  
    } 
}); 

...

$('#txt').blur(function(){ 
    $(this).hide().after($(this).val()); 
}); 
+0

これは危険なものです。彼が同じコンテナ内に複数のフォームフィールドを持っている場合、それらはすべてあなたのソリューションによって削除されます:) – AlienWebguy

+0

なぜ私はdiv構造を示しましたか...それをはるかに簡単にするためにそれをラップする必要があります....あなたのHTMLを時々計画することは、あなたのjQueryコードと同じくらい重要です。 – espradley

+0

あなたの解決策は、あなたのDOMにOPを強制的に強制しています。彼のフォームがどのように見えるかわからないので、彼が本当に彼が構造全体を変更できるとは思えません。 – AlienWebguy

関連する問題