2011-11-11 51 views
4

嗨,我在jQuery的相當基本,並且陷入了一個腳本:如何計算輸入的字符數量並對其執行操作?

//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(); 
} 
}); 

的「如果條件」工作的第一部分,但是當我已清除q11_6_other所有文本,這些單選按鈕拿下不會隱藏。我認爲「其他」部分不起作用,但不知道如何繞過它。

非常感謝你的幫助!

回答

1

把你的變量other2text的事件處理函數中:

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

另外,我建議你使用keyup,而不是keypress。但是,如果您這樣做,則需要將other2text>=0更改爲other2text>0

+0

嗨塞繆爾,你是一個傳奇!它現在正在工作,完美,你讓我的一天! – user1041029

+5

尊敬的新用戶,請注意您應該將答案標記爲已接受以關閉此問題。爲此,請點擊此帖子左側大號下方的複選標記。 –

0

您的other2text變量當前在頁面加載時會填充一次。你想要的是讓每次按下一個按鈕來運行,所以就把這個變量的函數內部:

$('#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

這應該做的伎倆

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

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

哎呀我太慢了:( –

相關問題