这是我的代码,只是我从后端检索一个数组,并在select元素中显示,只是检查一个属性是否为true然后我显示一个有效期的输入,否则我隐藏它 这是工作代码...我需要做的只是简化,只需要创建2个辅助/可重用函数,这样我就可以调用它们......因为你可以看到,有重复的代码......
我尝试将它们拆分为两个函数,一个用于搜索此项是否实际存在,如果是,则返回该项,如果不是则返回false ...另一个将检查该项是否实际到期,如果是,它显示有效期的表格输入,否则隐藏它
任何帮助将不胜感激。谢谢,
$(document).ready(function() {
$('#expiryDate_input').hide();
var allItems = {!! json_encode($items->toArray()) !!};
var arrayItemId = $('#item').val();
for (i=0; i < allItems.length; i++) {
var selectedItemid = allItems[i].id;
if (selectedItemid == arrayItemId){
if(allItems[i].expires) {
$('#expiryDate_input').show();
}
else {
$('#expiryDate_input').hide();
}
}
}
$("#item").change(function() {
var currentItemId = $(this).val();
if (currentItemId == '') {
$('#expiryDate_input').hide();
}
for (i=0; i < allItems.length; i++) {
var arrayItemId = allItems[i].id;
if (currentItemId == arrayItemId){
if(allItems[i].expires) {
$('#expiryDate_input').show();
}
else {
$('#expiryDate_input').hide();
}
}
}
});
});
&#13;
function search(id) {
for (i=0; i < allItems.length; i++) {
var arrayItemId = allItems[i].id;
if (currentItemId == arrayItemId){
} return allItems[i];
else { return false
}
}
}
&#13;
function showHide(item) {
if(item.expires) {
$('#expiryDate_input').show();
}
else {
$('#expiryDate_input').hide();
}
}
}
&#13;
答案 0 :(得分:0)
$(document).ready(function() {
function showHide(item) {
if(item.expires) {
$('#expiryDate_input').show();
}
else {
$('#expiryDate_input').hide();
}
}
function search(id) {
for (i=0; i < allItems.length; i++) {
var arrayItemId = allItems[i].id;
if (id == arrayItemId){
showHide( allItems[i]);
}
}
}
$('#expiryDate_input').hide();
var allItems = {!! json_encode($items->toArray()) !!};
var arrayItemId = $('#item').val();
search(arrayItemId);
}
$("#item").change(function() {
var currentItemId = $(this).val();
if (currentItemId == '') {
$('#expiryDate_input').hide();
}
search(currentItemId);
});
});