2016-06-27 1 views
1

Привет, возможно ли сделать два условия с 1 нажатой кнопки?Как сделать 2 условия в нажатой кнопке jquery

if(unable == 4) { 
    $("#formitem").submit(function() { 
     $("#order_4").appendTo("body"); 
     var message = "<?=$message_change_location?>"; 
     var resotid = <?=$restaurant_info["restaurant_id"]?>; 
     var restoname = "<?=$restaurant_info["restaurant_name"]?>"; 
     var restomenu = "<?=$restaurant_menu?>"; 
     var postal = "<?=$postal?>"; 
     var delivery_no = "<?=$delivery_no?>" 
     jQuery.ajax({ 
      type: "GET", 
      url: "/ajax/order_unable", 
      dataType: 'html', 
      data: { 
       message_change_location: message, 
       restid: resotid, 
       restname: restoname, 
       restmenu: restomenu, 
       postal: postal, 
       delivery_no: delivery_no, 
      }, 
      success: function (res) { 
       $("#order_4_show").html(res); 
       $("#order_4").modal("show"); 
      } 

     }); 
     return false; 
    }); 
}else if($("#second_notif") == "show"){ 
      $("#formitem").submit(function() { 
       alert("asdf"); 
     }); 

Я хочу сделать условие, если second_notif предъявляется, чем если бы я на второй раз нажмите $("#formitem") покажет предупреждение. Первый щелчок показывает всплывающие окна, и здесь нет никаких проблем.

в всплывающих окнах есть скрипт, чтобы показать second_notif с этим следующим кодом:

<script> 
$(document).ready(function() { 
    $("#change_location_2").click(function() { 
     $(".vendor-heading").hide(); 
     $(".location-header").hide(); 
     $("#order_4").modal("hide"); 
     $("#second_notif").show(); 
     return true; 
    }); 
}); 

</script> 

и там же страница о том, где, чтобы показать всплывающее окно есть код, чтобы показать second_notif тоже:

$("#change_location").click(function(){ 
    $(".vendor-heading").hide(); 
    $(".location-header").hide(); 
    $("#second_notif").show(); 
    return true; 
}); 

здесь вид на second_notif:

<div id="second_notif" style="display:none;"> 
    <?php $this->load->view('MAIN/'.country_code.'/search');?> 
</div> 

Я могу показать всплывающие окна и показать second_notif, когда я нажал кнопку formitem, но когда был показан second_notif, и если бы я снова нажал ту же кнопку, почему я не могу показать предупреждение? ребята, можете ли вы помочь мне показать предупреждение?

пс предупреждение не моя цель, я изменю оповещение другого вида , пожалуйста, помогите мне, ребята, спасибо (:

+0

Это много кода. Я предлагаю включить в ваш вопрос только основные биты. –

+0

@AnthonyAstige первый код - это основной код, я просто поместил другой код, чтобы объяснить, что мой код будет ясным. –

+0

немного длиннее, но я прочитаю его и посмотрю, смогу ли я помочь :) –

ответ

0

Прежде всего, вам нужно только один обработчик событий для этого метода. вы можете перемещать условные в Handl э.

Во-вторых, ваше состояние $('#second-notif') == 'show' не будет работать, так как оно никогда не будет оценено как true. Чтобы проверить, является ли элемент видимым с помощью jQuery, используйте метод .is(':visible'). Вот краткий пример того, что вы ищете:

JSFiddle

+0

спасибо! это работает! '.is (': visible')' есть condtion, где im пытается использовать, потому что im sure '$ ('# second-notif') == 'show'' неверный код для условия –

0

Свяжите два элемента в одном обработчике

$("#change_location_2, #change_location").click(function() { 
     $(".vendor-heading").hide(); 
     $(".location-header").hide(); 
     $("#order_4").modal("hide"); 
     $("#second_notif").show(); 
     return true; 
    }); 
+0

i cant bind, этот элемент, потому что его от 2 разных представлений, во всяком случае, это не проблема в этом коде, я просто хочу знать, как получить другое условие, если i нажал 'formitem' для второго раза –

0

как если вы добавить условие для формирования представить, как это?

$("#formitem").submit(function() { 
    if(unable == 4) { 
     $("#order_4").appendTo("body"); 
     var message = "<?=$message_change_location?>"; 
     var resotid = <?=$restaurant_info["restaurant_id"]?>; 
     var restoname = "<?=$restaurant_info["restaurant_name"]?>"; 
     var restomenu = "<?=$restaurant_menu?>"; 
     var postal = "<?=$postal?>"; 
     var delivery_no = "<?=$delivery_no?>" 
     jQuery.ajax({ 
      type: "GET", 
      url: "/ajax/order_unable", 
      dataType: 'html', 
      data: { 
       message_change_location: message, 
       restid: resotid, 
       restname: restoname, 
       restmenu: restomenu, 
       postal: postal, 
       delivery_no: delivery_no, 
      }, 
      success: function (res) { 
       $("#order_4_show").html(res); 
       $("#order_4").modal("show"); 
      } 

     }); 
     return false; 
    }else if($("#second_notif") == "show"){ 
     alert("asdf"); 
    } 
}); 
Смежные вопросы