JQuery Div не скроет

Я пытаюсь получить div, чтобы скрыть в jQuery, когда пользователь не вошел в систему. У меня есть условие, которое должно выполнить это, но я не получаю от него никакого результата. Может кто-нибудь помочь мне выяснить, что не так с моим кодом? Благодарю.

JQuery:

jQuery(document).ready(function() {
 initHideMenuItem();
});

function initHideMenuItem() {
 var loggedin = '{module_isloggedin}';
 if (loggedin == 1){
 jQuery("div.personal-tag").show();
 }
 else {
 jQuery("div.personal-tag").hide();
 }
}

Если вы хотите узнать, что "{module_isloggedin}" - это тег, который имеет значение 0 или 1.

HTML:

<div>Welcome, {module_firstname}: 
 <span>{module_customerfield,170943,513231}</span>
</div>
2 ответа

Мне не нравится то, что вы делаете с {module_isloggedin}, но если вы говорите, что оно имеет значение 0 или 1 (целые числа), и вы обматываете его внутри кавычек следующим образом:

var loggedin = '{module_isloggedin}';

... когда вы сравниваете это следующим образом:

if (loggedin == 1){

... он всегда будет оценивать true (потому что string == 1)

Попробуйте либо отбросить цитаты вокруг вашего модуля, либо добавить их вокруг 1 в вашем сравнении.


использование

var loggedin = !!parseInt('{module_isloggedin}');

licensed under cc by-sa 3.0 with attribution.