условный Javascript

Как я могу делать в условном следующее?

                 $(function () {

                     $("[id*='_btnCheck']").click(function () {



                         var buttonName = $(this).attr('id');
                         ChannelEvent(buttonName);
                     });

                     $("[id*='_btnRuta']").click(function () {
                         var buttonRuta = $(this).attr('id');
                         RouteEvent(buttonRuta);
                     });



                 });

Если я нажимаю на какую-то кнопку, которая шла бы в id _btnCheck тогда пропуск что-то, если я нажимаю на какую-то кнопку, которая шла бы в id _btnRuta тогда пропуск что-то, и в конце концов, если я нажимаю на какую-то кнопку, которую он приносил бы, пойдите _btnCliente тогда, что переместил что-то.

Мой код функциональный, но я оставил себе эту малышку limitante.

Обновление:

Я объясню себе, что лучше мы сказали, что у меня есть 10 из кнопок и эти принадлежат группе A, другие 10 кнопок принадлежат группе B, другие 10 группы C.

У каждой кнопки есть различная идентификация. Код, который я поместил, - это, чтобы исследовать ключ внутри id кнопка. Если мы находим себя в группе A. все кнопки приносят ключ: _btnCheck, но он препятствовал полной идентификации кнопка в группе A может быть: e1_btnCheck, Другой e2_btnCheck, Другой e3_btnCheck и я схватил последовательно.

Так что, кликнув в них, эти приводят меня в тот же метод благодаря ключу, который содержит часть идентификации.

Хорошо, сейчас, есть много кнопок, но эти группировались благодаря этому ключу.

Когда я использую:

        $(function () {

                     $("[id*='_btnCheck']").click(function () {



                         var buttonName = $(this).attr('id');
                         ChannelEvent(buttonName);
                     });
  });

Кнопка отвечает мне со мной желание и ведет меня в событие, которое потом превращается в webmethod в ASP.net.

Если я помещаю код, чтобы искать следующие группы, B и C. Событие click не взрывается. Только только для группы A. Поэтому думал о том, чтобы способствовать условный, который может, что оно функционирует.

Если у них есть лучшая идея, благополучное прибытие было. Я не очень хороший в JS. Спасибо.

1
задан 13.05.2016, 14:16
3 ответа

А следовательно ты рассказываешь serГ - в лучше, что ты используешь классы, чтобы дифференцировать кнопки:

$('.btn').click(function(){
  var $boton = $(this);
  if ($boton.hasClass('btnCheck')){
    ChannelEvent($boton.attr('id'));
  }
  if ($boton.hasClass('btnRuta')){
    RouteEvent($boton.attr('id'));
  }
  if ($boton.hasClass('btnCliente')){
    alert('Botón cliente ' + $boton.attr('id'));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btnCheck" id="boton1">Check 1</Button>
<button class="btn btnCheck" id="boton2">Check 2</Button>
<button class="btn btnCheck" id="boton3">Check 3</Button>
<button class="btn btnCheck" id="boton4">Check 4</Button>
<button class="btn btnCheck" id="boton5">Check 5</Button>
<button class="btn btnRuta" id="boton6">Ruta 1</Button>
<button class="btn btnRuta" id="boton7">Ruta 2</Button>
<button class="btn btnRuta" id="boton8">Ruta 3</Button>
<button class="btn btnRuta" id="boton9">Ruta 4</Button>
<button class="btn btnRuta" id="boton10">Ruta 5</Button>
<button class="btn btnCliente" id="boton11">Cliente 1</Button>
<button class="btn btnCliente" id="boton12">Cliente 2</Button>
<button class="btn btnCliente" id="boton13">Cliente 3</Button>
<button class="btn btnCliente" id="boton14">Cliente 4</Button>
<button class="btn btnCliente" id="boton15">Cliente 5</Button>
2
ответ дан 24.11.2019, 14:24

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

    
    $(".btn").on("click",function(){
      
      switch($(this).attr('id')){
          case "_btnCheck":{
              //tu codigo para este caso
              alert("Click en check");
              break;
          }
          case "_btnRuta":{
              //tu codigo para este caso
              alert("Click en ruta");
              break;
          }
          case "_btnCliente":{
              //tu codigo para este caso
              alert("Click en cliente");
              break;
          }
      }
      
    });

//Este codigo es para resolver la duda en el comentario:

$(".grupoa").on("click", function () {
ChannelEventA($(this).attr('id'));
});

$(".grupob").on("click", function () {
ChannelEventB($(this).attr('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn" id="_btnCheck">Check</Button>
<button class="btn" id="_btnRuta">Ruta</Button>
<button class="btn" id="_btnCliente">Cliente</Button>
1
ответ дан 24.11.2019, 14:24
  • 1
    Спасибо, тестировать это и # 233; он мне кажется очень подходящим. – N'oel C'alero 13.05.2016, 01:37
  • 2
    Ну, " _btnCheck" его нет один пойдите, это отпечаток внутри id, они пойдите кнопок группы A, они могут быть: e1_btnCheck, e2_btnCheck, e3_btnCheck. _btnCheck - это, чтобы исследовать, к которому событие они должны обращаться – N'oel C'alero 13.05.2016, 01:56
  • 3
    Ты бы этого добился делая точно то же самое, используя класс для группы A и другая для группы B – Gemasoft 13.05.2016, 01:59
  • 4
    Проверь его добавьте пример, который может подавать тебя в конце кода – Gemasoft 13.05.2016, 02:02

Это одна opciГіn:

$('button[type=submit]').click(function() {
 switch($(this).attr('id')){
 case "_btnCheck":{
    alert("el boton seleccionado fue: " + $(this).text());
   break;
 }
 case "_btnRuta":{
  alert("el boton seleccionado fue: " + $(this).text());
  break;
 }
 case "_btnCliente":{
   alert("el boton seleccionado fue: " + $(this).text());
  break;
 }
 } 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit" id="_btnCheck" value="Accept">Check</button>
<button type="submit" id="_btnRuta" value="Decline">Ruta</button>
<button type="submit" id="_btnCliente" value="Decline">Cliente</button>
0
ответ дан 24.11.2019, 14:24

Теги

Похожие вопросы