使用EJS和JS的id属性为条件

时间:2018-10-13 22:29:49

标签: node.js ejs

我在用EJS用Javascript编写条件语句时遇到了一个小问题。 我有一个调用2个不同后端功能的按钮。我正在尝试编写一个条件,该条件将基于id标签进行不同的ajax调用。

我有2个调用后端API的函数

function joinPlan(id) {
  let ID = document.getElementById("planID_" + id).value;

    $.ajax({
      type: "POST",
      url: "/plan/join",
      data: { base_plan_id: ID },
      success: function(resultData) {
          alert(resultData);
       }
     });
   }

function leavePlan(id) {
  let ID = document.getElementById("planID_" + id).value;

   $.ajax({
    type: "POST",
    url: "/plan/leave",
    data: { base_plan_id: ID },
    success: function(resultData) {
       alert(resultData);
     }
  });
 }

我的初始调用独立工作以触发API:

$("button").each(function() {
  $(this).on("click", function() {
     joinPlan($(this).attr("data-ref"));
  });
});

$("button").each(function() {
  $(this).on("click", function() {
     leavePlan($(this).attr("data-ref"));
  });
});

我试图找到一种方法来加入这两个电话,但是我在使逻辑工作上遇到了一些麻烦。这是我的电话:

$("button").each(function(){
   if(document.getElementById("join").value){
       $("#join").click(function() {
          joinPlan($("#join").attr("data-ref"));
        });
    } else {
       $("#leave").click(function() {
          leavePlan($("#leave").attr("data-ref"));
      });
     }
    });

这是EJS代码的样子:

<input  id="planID_<%= i %>" name="ID" type="hidden" value="<%= plans[i]._id %>">
<% if(plans[i].is_member != true) {%>
     <div class="btn-group mr-2" role="group" aria-label="Second group">
        <button data-ref="<%= i %>" id="join" class="btn btn-primary">Join</button>
        <button disabled data-ref="<%= i %>" id="leave" class="btn btn-secondary">Cancel</button>
     </div>
 <% } else { %>
    <div class="btn-group mr-2" role="group" aria-label="Second group">
        <button disabled data-ref="<%= i %>" id="join" class="btn btn-secondary">Join</button>
        <button data-ref="<%= i %>" id="leave" class="btn btn-danger">Cancel</button>
    </div>
 <% } %>

这个想法是要能够在可用时使用join API,而在使用计划时可以使用请假API。任何帮助将不胜感激。

0 个答案:

没有答案