我在用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。任何帮助将不胜感激。