2013-07-08 45 views
0

如果用戶沒有選擇他們是男性女性,我設置了一個錯誤。錯誤信息應該是,請選擇你的性別。我沒有收到這條消息,如果他們選擇了性別,我會收到常規消息,但我會在閱讀文本時獲得它。我唯一的紅色文本是錯誤的,所以我不知道發生了什麼。我的代碼是100行,所以我只會發布帶有錯誤信息的部分,併發布小提琴。爲什麼我的錯誤信息不起作用?

if (isNaN(total)) { 
    msg = 'Input three numbers, please...'; 

} else if ($genderRadio.filter(':checked').length === 0) { 
    msg = 'Please select your gender....';  
} else { 
    $output.removeClass('error'); 
} 

http://jsfiddle.net/7xM2f/46/

+0

請檢查代碼的頂部,變量$輸出= $( '#' 輸出)變量的聲明; var $ output1 = $('#output1'); genderRadio = $('input [name = gender]'); –

+0

性別男性改變由var $ genderRadio –

+0

*許多*問題,請分別測試每個部分。 –

回答

1

這是因爲在底部的total條件,它覆蓋了錯誤信息

你需要像

if(!msg){  
     if (total < 10) { 
      msg = "should be higher..."; 
     } else if (total > 20) { 
      msg = "super good ..."; 
     } else { 
      msg = "not bad."; 
     } 
    } 

演示:​​

+0

有趣。問題,即時通訊只是想知道,如果把把如果的..這是好的,不壞...首先,並把如果的性別框未選擇最後會起作用嗎?它只是最後一個味精發送到發件箱? – user2537145

+0

嘗試它,如果我把總的第一,如果是的話,如果它的性別工作http://jsfiddle.net/7xM2f/48/ – user2537145

0

請chec K優代碼

var $genderRadio = $('input[name=gender]'); 

請使用代碼條件:

else if ($('input[name=gender]:checked').val()==undefined) 
0

你應該否則,如果使用某某的最先決條件,第一次出現關於優先排序的順序。

試試這個:

if (isNaN(total)) { 
     msg = 'Input three numbers, please...';  
    } else if ($genderRadio.filter(':checked').length === 0) { 
     msg = 'Please select your gender....'; 
    } else if { 
     $output.removeClass('error'); 
    } else if (total < 10) { 
      msg = "bad need a lot of work..."; 
    } else if (total > 20) { 
     msg = "super super good..."; 
    } else { 
     msg = "your with in the average."; 
    } 

    $output.text(msg); 
    $output1.text(msg1);