2011-11-11 6 views
4

こんにちは、私はjQueryのにかなり基本的だし、スクリプトに捕まってしまった:私は、これらのラジオボタンを獲得した、q11_6_other内のすべてのテキストをクリアしたとき入力された文字数とその数を数える方法は?

//hide all radio buttons first 

$('#q11_6_1').parent().hide(); 
$('#q11_6_2').parent().hide(); 
$('#q11_6_3').parent().hide(); 
$('#q11_6_4').parent().hide(); 
$('#q11_6_5').parent().hide(); 

//check the length of the open text box 

var other2text = $('#q11_6_other').val().length; 
$('#q11_6_other').keypress(function(){ 

//if at least one character has been entered, then I want to show all radio buttons 

if(other2text>=0) 
{ 
    $('#q11_6_1').parent().show(); 
    $('#q11_6_2').parent().show(); 
    $('#q11_6_3').parent().show(); 
    $('#q11_6_4').parent().show(); 
    $('#q11_6_5').parent().show(); 
} 

//else I want to hide all 

else 
{ 
    $('#q11_6_1').parent().hide(); 
    $('#q11_6_2').parent().hide(); 
    $('#q11_6_3').parent().hide(); 
    $('#q11_6_4').parent().hide(); 
    $('#q11_6_5').parent().hide(); 
} 
}); 

「IF条件」の最初の部分は、しかし、働いています隠してはいけない。私は "else"セクションは動作していないと思うが、周りを回る方法は分からない。

多くのあなたの助けに感謝!

答えて

1

は、イベントハンドラ関数内other2textあなたの変数を入れてください:また

$('#q11_6_other').keypress(function(){ 
    var other2text = $('#q11_6_other').val().length; 

は、私があなたの代わりにkeypresskeyup使用をお勧めします。しかし、それを行う場合は、変更する必要がありますother2text>=0other2text>0

+0

こんにちはサミュエル、あなたは伝説です!それは今、完璧に働いている、あなたは私の一日を作った! – user1041029

+5

新規ユーザー様、この質問を閉じるために回答を承認済みとしてください。これを行うには、このポストの左側にある大きな数字の下にあるチェックマークをクリックします。 –

0

あなたのother2text変数は現在、ページの読み込みに1回設定されています。何が欲しいのは、それは毎回あなたがボタンを押すと実行させるので、関数内でその変数を置くです:

$('#q11_6_other').keypress(function() { 
    var other2text = $('#q11_6_other').val().length; 
    ... 
0

これはトリックを行う必要があり、イベントハンドラ内

$('#q11_6_other').keypress(function() { 
    var other2text = $('#q11_6_other').val().length; 
0

を変数other2textを入れ

$('#q11_6_other').keypress(function() { 

var other2text = $('#q11_6_other').val().length; 
+0

おっと私は遅すぎました:( –

関連する問題