我有以下功能,它會一直返回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
它返回'true',因爲在某些時候'if(value =='new')'將條件評估爲'false',因此驅動代碼流向'else'分支。 – 2012-01-09 15:14:14
任何時候你必須評論塊的結尾''}「'通常意味着塊太長。 – 2012-01-09 15:14:23
偏離主題,但是由於您似乎正在使用jQuery,因此您可以查看它的['val'](http://api.jquery.com/val/)和['each'](http:// api .jquery.com/val /)函數,這可能有助於簡化代碼。 – 2012-01-09 15:17:50