javascript - JS for loop showing only last value (Not iterating whole values) -
function addmsg(type, msg) { if (type = 'new') { $('#ntfcn').html(type); var notify = ["new message", "new mail", "new event", "new assignment"]; var i; (i = 0; < notify.length; i++) { $('#ntfcn_msg').html("<a href='employee-dashboard.jsp' id='' class='msg_show'><div class='media-body'><h6 class='media-heading'>" + notify[i] + "</h6></div></a>"); } } }
this line overwrites what's in ntfcn_msg
element on each loop iteration:
$('#ntfcn_msg').html("<a href='employee-dashboard.jsp' id='' class='msg_show'><div class='media-body'><h6 class='media-heading'>" + notify[i] + "</h6></div></a>");
you mean have meant append:
$('#ntfcn_msg').append("<a href='employee-dashboard.jsp' id='' class='msg_show'><div class='media-body'><h6 class='media-heading'>" + notify[i] + "</h6></div></a>"); // -------------^
...perhaps empty
in front of loop clear out first:
$('#ntfcn_msg').empty();
so:
function addmsg(type, msg) { if (type == 'new') { $('#ntfcn').html(type); var notify = ["new message", "new mail", "new event", "new assignment"]; var i; $('#ntfcn_msg').empty(); (i = 0; < notify.length; i++) { $('#ntfcn_msg').append("<a href='employee-dashboard.jsp' id='' class='msg_show'><div class='media-body'><h6 class='media-heading'>" + notify[i] + "</h6></div></a>"); } } }
another option use array#map
, join
, , html
:
function addmsg(type, msg) { if (type == 'new') { $('#ntfcn').html(type); $('#ntfcn_msg').html( ["new message", "new mail", "new event", "new assignment"].map(function(text) { return "<a href='employee-dashboard.jsp' id='' class='msg_show'><div class='media-body'><h6 class='media-heading'>" + text + "</h6></div></a>"; }).join("") ); } }
side note: id=''
doesn't anything, may leave off.
side note 2: see mike c's point about
if (type = 'new') {
that should be
if (type == 'new') {
or
if (type === 'new') {
=
assignment (setting type
value 'new'
). setting type
'new'
, testing result, , you'd go body of if
because 'new'
truthy value.
Comments
Post a Comment