如果块为真,则javascript程序的其他块总是执行

kni*_*ght 0 html javascript if-statement

即使是真的,其他块也会继续执行.如果我删除else块,那么程序运行正常.我想要做的就是检查用户是否不在记录中,然后打印未找到.

var students = 
[
	{
		name: "Linda",
		track: "IOS",
		points:' 50'
	},
	{
		name: "Brian",
		track: "Android",
		points: '80'
	},
	{
	    name: 'Trish',
	    track: 'Rails Development',
	    points: '350'
	}
];

 		var search = " ";
  		var student;
  		var message = " ";

	function print ( msg )
	{
		var output = document.getElementById("output");
		output.innerHTML = msg;
	}

	function studentReport( student )
	{
		var report 	= "<h2> Student name: " + " " + student.name + "</h2>";
			report += "<p>  Student track: " + " " + student.track+ "</p>";
			report += "<p>  Student points: "+ " " + student.points+ "</p>";
			return report;
	} 

	var button = document.getElementById("search");

		/*search = prompt("Enter a name to search database or type quit to exit");*/
		button.onclick = function( )
	{
		
		search = document.getElementById("txtField").value;
		for( var i = 0; i < students.length; i++ )
		{
			student = students[i];

			if( student.name.toLowerCase() === search.toLowerCase() )
			{
				message = studentReport(student);
				print(message);
			}
			
			else
			{
				message = "<h2> Student not found </h2>";
				print( message);
			}

		}

		
		
	}
		
Run Code Online (Sandbox Code Playgroud)
<div class="container">
		<form action="#">
			<input type="text" name="search" id="txtField"><!--
			--><a href="#" id="search"> Search </a>
		</form>
		

	<div id="output">

	</div>

	</div>
Run Code Online (Sandbox Code Playgroud)

通过删除其他零件程序搜索名称并显示学生记录.其他部分应检查学生是否不在数组中,然后打印未找到.

Jos*_*ess 5

添加break;到您的if语句中,因此循环停止评估.否则,只有最后一个结果才会更新HTML.