私は以下の機能を持っています。常にTrueを返します。どのようなアイデアの理由と回避方法?ありがとうございました。なぜ次のjavascript関数は常にtrueを返しますか?
function validateStatuses(xyx){
var umm = ugh[xyx];
var selects = $('#cont_'+ugh.xyz+' .status_select');
var codes = $('#cont_'+ugh.xyz+' .status_code');
for (var i = 0; i < selects.length; i++) {
var value = selects[i].options[selects[i].selectedIndex].value;
if (value == 'new'){
for (var j = 0; j < codes.length; j++) {
var blagh = codes[j].options[codes[j].selectedIndex].value;
if(blagh == 13){
$('#info_dialog').html('');
$('#info_dialog').append("<p>You are trying to process a bill ("+bill.name+") with a STATUS of NEW and a STATUS CODE of NONE. Please correct this issue before you proceed!</p><hr />");
$('#info_dialog').dialog({
buttons:{
Cancel: function(){
$(this).dialog('close');
}
}
});
billCounterAdd();
return false;
}//end if
}//end for
}else{
return true; //this is the problem;
}//end if
}//end for
}//end Function
ある時点で 'if(value == 'new')'条件が 'false'と評価され、' else'ブランチへのコードフローが発生します。 –
ブロックの ''} ''をコメントする必要があるときはいつも、ブロックが長すぎることを意味します。 –
オフトピックですが、jQueryを使用しているようですが、['val'](http://api.jquery.com/val/)と[' each'](http:// api .jquery.com/val /)関数を使用すると、コードを簡素化するのに役立ちます。 –