Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

81
Views
Using javascript like a function with button

I want to use this code as a function () to be run only when I click a button and not automatically when dropdown is changed. When click on <button onclick="CalendarFilter">Cercar</button> it runs the function. I tried putting the code into this but not working.

function myFunction()
{
CODE HERE
} 





$(document).ready(function () {

    $('.filter').change(function () {
        var values = [];

         $('.filter').each(function () {
            var colIdx = $(this).data('col');

             $(this).find('option:selected').each(function () {
                 if ($(this).val() != "") values.push( {
                    text: $(this).text(),
                    colId : colIdx
                 });
            });
        });
        filter('table > tbody > tr', values);
    });

    function filter(selector, values) {console.log(values);
        $(selector).each(function () {
            var sel = $(this);
            var tokens = sel.text().trim().split('\n');
            var toknesObj = [], i;
            for(i=0;i<tokens.length;i++){
                toknesObj[i] = {
                   text:tokens[i].trim(), 
                   found:false
                };
            }

            var show = false;
            //console.log(toknesObj);
            $.each(values, function (i, val) {                

           if (toknesObj[val.colId].text.search(new RegExp("\\b"+val.text+"\\b")) >= 0) {
               toknesObj[val.colId].found = true;
              }

            });          
            console.log(toknesObj);
            var count = 0;
             $.each(toknesObj, function (i, val) {
                 if (val.found){
                     count+=1;
                 }
             });
            show = (count === values.length);        
            show ? sel.show() : sel.hide();
        });
    }
    });

When click on Cercar it runs the CalendarFilter

Thanks.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I need a way to run this like this:

function myFunction()
{
        $(document).ready(function () {
        
            $('.filter').change(function () {
                var values = [];
        
                 $('.filter').each(function () {
                    var colIdx = $(this).data('col');
        
                     $(this).find('option:selected').each(function () {
                         if ($(this).val() != "") values.push( {
                            text: $(this).text(),
                            colId : colIdx
                         });
                    });
                });
                filter('table > tbody > tr', values);
            });
        
            function filter(selector, values) {console.log(values);
                $(selector).each(function () {
                    var sel = $(this);
                    var tokens = sel.text().trim().split('\n');
                    var toknesObj = [], i;
                    for(i=0;i<tokens.length;i++){
                        toknesObj[i] = {
                           text:tokens[i].trim(), 
                           found:false
                        };
                    }
        
                    var show = false;
                    //console.log(toknesObj);
                    $.each(values, function (i, val) {                
        
                   if (toknesObj[val.colId].text.search(new RegExp("\\b"+val.text+"\\b")) >= 0) {
                       toknesObj[val.colId].found = true;
                      }
        
                    });          
                    console.log(toknesObj);
                    var count = 0;
                     $.each(toknesObj, function (i, val) {
                         if (val.found){
                             count+=1;
                         }
                     });
                    show = (count === values.length);        
                    show ? sel.show() : sel.hide();
                });
            }
            });
    
}

To call that function using a button.

<button onclick="myFunction()">Cercar</button>

The problem is that this way is not working.

Thanks.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!