ここには、railsアプリケーションのjqueryコードがあります。コードの目的は、#rfq_need_reportの価値を評価およびneed_reportがtrueの場合#rfq_report_languageを表示したり、偽の場合は非表示にすることです:Javascript IFループがfalseになり、jqueryで真のループを実行します
$(document).ready(function() {
var rpt = $('#rfq_need_report').val();
alert(rpt);
if (rpt) {
alert(rpt);
$('#rfq_report_language').show();
alert('show');
} else {
$('#rfq_report_language').hide();
alert(rpt);
alert('hide');
}
}); // end ready
ここでアラートがちょうどデバッグのためです。 rptはfalseですが、警告( 'show')は実行されます。 ifループが偽を取っていると思われ、trueのためにループを実行することに決めました。いつかループが働いていて、いつかそれはしません。何がこの奇妙な行動を引き起こす可能性がありますか?ありがとう。
多分rptは空白に見えますか? ''はfalseに評価されます ''は真と評価されます – dave
javascriptでalert(..)の代わりに、あなたのブラウザがサポートしている場合、または拡張機能をダウンロードしてコンソールを持つことができる場合はコンソールを使用することを検討してください。単純なconsole.log(値)は、文字列かブール値かその値かを示します。それは警告(...)の呼び出しでデバッグするよりはるかに優れています – StevenGilligan