Событие PL/SQL onChange для плагина Apex

Я работаю над плагином для Apex 4.2, написанным на pl/sql. Я пытаюсь скрыть / показать определенные функции на панели инструментов в зависимости от выбора переключателя. Я уже в состоянии справиться с сокрытием / показом панелей инструментов. Моя проблема в том, чтобы это происходило каждый раз, когда я выбираю определенную радиокнопку. Мой код ниже

$("#P13_GROUP").on("change", function () {
     if ( $("#P13_GROUP").val("UPDATE") ) { 
       $("#draw_point").hide();
       $("#longitude_minutes").hide();
       $("#longitude_seconds").hide();

    } else if ( $("#P13_GROUP").val("CREATE") ) {
       $("#draw_point").show();
       $("#longitude_minutes").show(); 
       $("#longitude_seconds").show();
   } else if ( $("#P13_GROUP").val("DISCARD") ) {
       $("#draw_point").show();
       $("#longitude_minutes").show(); 
       $("#longitude_seconds").show();

  }

})

Где P13_GROUP - это элемент страницы в Apex, который представляет группу радиосвязи. Радиогруппа состоит из трех возможных значений / вариантов. Все, что я делаю, скрывает мои поля. Он скрывает мои поля независимо от того, на какую радио-кнопку я нажимаю. Так что, если я нажму переключатель в разделе "DISCARD", мои поля будут скрыты, когда они все еще должны отображаться. Если после этого я нажму другую кнопку-переключатель, изменений не будет.

Любая помощь по этой теме будет принята с благодарностью. Заранее спасибо.

1 ответ

Я бы сделал это с помощью оператора switch:

$("#P13_GROUP").on("change", function() {
  switch ($(this).val()) {
    case "UPDATE": 
      $("#draw_point, #longitude_minutes, #longitude_seconds").hide();
      break;
    default:
      $("#draw_point, #longitude_minutes, #longitude_seconds").show();
      break;
  }
});
Другие вопросы по тегам