这是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();
});
答案 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
}