创建和调用辅助/可重用函数

时间:2018-05-06 13:56:04

标签: javascript

这是我的代码,只是我从后端检索一个数组,并在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;
&#13;
&#13;

&#13;
&#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;
&#13;
&#13;

&#13;
&#13;
function showHide(item) {

if(item.expires) {
           $('#expiryDate_input').show();
       }   
       else {
           $('#expiryDate_input').hide();
       }

   } 


}
&#13;
&#13;
&#13;

1 个答案:

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