2016-11-30 3 views
0

У меня возникла небольшая проблема с кодом jquery ниже. Первый, если сегмент кода работает нормально, но часть else не работает.Если еще не работает в jquery

function show_table() { 
     var table_name = '<?php echo $table_name; ?>'; 
     if(table_name = "users") { 
      $("#users").css('display', 'block'); 
     }else if(table_name = "questions") { 
      $("#questions").css('display', 'block'); 

     } 
    } 


    $(document).ready(function() { 
     $("#block").click(function() { 
      show_table(); 
      return false; 
     }); 
    }); 

<a id="block" class="btn btn-info fa fa-cog" href=""></a> 

<div style="display: none;" id="questions"> 
    <p>Questions</p> 
</div> 

<div style="display: none;" id="users"> 
    <p>users</p> 
</div> 

Может ли кто-нибудь помочь мне решить эту проблему.

+0

table_name = «вопросы» к TABLE_NAME == «вопросы» – jeff

ответ

4

Эта ошибка должна быть связана с тем, что вы назначаете переменную table_name строкой «пользователи», а не проверяете погоду, равную ей, в условии if. т. е. у вас есть небольшая ошибка опечатки в операторе if if(table_name = "users") в третьей строке вашего кода.

изменить его как if(table_name == "users"), и код обязуется работать.

не только при условии третьей линии, если она повторяется регулярно в условии if. замените = на == во всех условиях if.

надеюсь, что это помогает и код работает .. :)

+0

Thnx как я мог это сделать :) – Abid

+0

поиск 'if (' и проверить погоду, если его a = или a ==. Есть очень меньше возможностей назначения внутри if. –

4

== Использования НЕ = в состоянии if и else if, используя = всегда будет приводить к true и поэтому условию if всегда будет выполняться, если правопреемник не до 0 или NaN или undefined или других falsy значений.

+1

Эй, что случилось в вашем объяснении, что ОП не принимают это ?? – Mahi

3

Использовать == вместо =. Первое - это сравнение, а второе - задание.

if (table_name == "users") { 
     $("#users").css('display', 'block'); 
    } else if(table_name == "questions") { 
     $("#questions").css('display', 'block'); 
    } 

Подробнее в the documentation.

+1

Хорошо сделано для фактического объяснения _why_ для использования '=='. – Turnip

+0

ну да спасибо :) – Abid

Смежные вопросы