如何在下面的代码中为选定的动作申请foreach数组函数

时间:2018-07-24 07:31:42

标签: javascript laravel

这是Laravel中文件app.js的代码。我想将selectedAction的倍数或条件转换为JavaScript数组函数。我是JavaScript新手,所以不知道。

$('#page_hr_applicant_edit .applicant-round-form').on('click', '.round-submit', function() {
  let button = $(this);
  let form = $(this).closest('.applicant-round-form');
  let selectedAction = $(this).data('action');
  if (selectedAction == 'confirm' || selectedAction == 'send-for-approval' ||
    selectedAction == 'onboard' || selectedAction == 'approve') {
    if (!form[0].checkValidity()) {
      form[0].reportValidity();
      return false;
    }
  }
  form.find('[name="action"]').val(selectedAction);
  button.prop('disabled', 'disabled').addClass('disabled');
  form.submit();
});

2 个答案:

答案 0 :(得分:0)

您可以尝试在下面查看以下代码:

$(document).ready(function() {
  $("button.data-form").on("click", function() {
    var action_form = $(this).attr('data');
    $("form").attr('id', action_form);
    $("form").attr('data', action_form);
    $("form#" + action_form).submit(function(event) {
      //event.preventDefault();
      console.log("co:" + action_form);
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<body>
  <form method="post" action="">
    <input type="text" name="name" id="name" />
    <button class="data-form" data="form-1">Click form 1</button>
    <button class="data-form" data="form-2">Click form 2</button>
  </form>
</body>

答案 1 :(得分:0)

您可以使用所有可能的动作值定义数组,可以使用or方法代替indexOf,该方法将返回动作的index。如果index为0或大于0,则表示该项目在数组中找到,否则在数组中找不到。以下是将or逻辑转换为array

的示例代码

const actions = [ 'confirm', 'send-form-approval', 'onboard', 'approve' ];
if(actions.indexOf(selectedAction) >= 0) {
  // Action is found in array
}
else {
  // Unknown action i.e. Action is not found in array
}