Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8496409
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T23:50:49+00:00 2026-06-10T23:50:49+00:00

using ie8, jqgrid 4.3.3, jquery 1.7.2 or 1.5.2, multiple search seems to miss some

  • 0

using ie8, jqgrid 4.3.3, jquery 1.7.2 or 1.5.2, multiple search seems to miss some search parameters.
on adding a new search row for the 1st time, it appears in the request body but with a blank value (“”)
such as.

"filters":"{\"groupOp\":\"AND\",\"rules\":[{\"field\":\"code\",\"op\":\"eq\",\"data\":\"\"}]}", 

subsequent search with the same parameters sends the correct vlaue.
My basic setup is as follows (simplified)

$('#Table').jqGrid({
         //....
    datatype: 'json',
    colNames: ['Code'],
    colModel: [{
        name: 'Code',
        index: 'Code'}],
    pager: '#Pager'
}).jqGrid('navGrid', '#Pager', {
    add: false,
    edit: false,
    del: false,
    refresh: false
}, {}, {}, {}, {
    multipleSearch: true
}).trigger('reloadGrid');

UPDATED: added jsfiddle

after a long time, I found that the error happens only if I am using cmTemplate to specify searchoptions sopt and when I click on ‘find’ without 1st clicking outside the data text box.
See jsfiddle here (remember to click the find button directly after typing the search value)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T23:50:51+00:00Added an answer on June 10, 2026 at 11:50 pm

    I suppose, it’s an old bug with refreshing of jqGrid input fields which I described here. You can try to insert the following callback

    afterRedraw: function () {
        $(this).find(".input-elm").triggerHandler('change', [true]);
    }
    

    like here. You can also try to use jqGrid 4.4.1 instead of 4.3.3. The version should have no such problems.

    UPDATED: I found that my previously posted and committed changes was reverted back: see here. My suggestions was collection of many improvements:

    1. the style of buttons in the searching dialog was used like in jQuery UI and in all other parts of jqGrid. One could use uiButtons: false to use the old style.
    2. one could change the default names “+”, “-” and “+ {}” buttons and the tooltips which are all in English only in the current version of jqGrid ('Add rule', 'Delete rule', 'Add subgroup', 'Delete group').
    3. The focus will be additionally set to input controls or buttons. It allows to use searching dialog with the keyboards only without require to use mouse.
    4. It will be triggered "change" events on all input controls before the final reading of data from the searching dialog.

    The last changes could be important to fix your problem.

    One should modify the implementation of the filterData function. One should add the lines

    $(this).find(".input-elm").each(function() {
        $(this).triggerHandler("change");
    });
    

    before the line.

    The problem is that jqGrid bind ‘change’ event to all input fields of the searching dialog (see the lines). After the user type the data for the searching the ‘change’ event will be triggered and the internal data filter (see rule.data, which is the part of the filter, in the line) will be modified. If the user click on Search button the current value of filter will be get (see the line). The problem is that the change event will be processed in some web browsers after processing of the 'click' event on the “Search” button. So the input data from the last searching filter could be not yet set. The call of .triggerHandler("change") on all input controls before the data from the filter will be returned could fix the problem. In the case some unneeded change events could be called, but one will be sure that the data in filter are the same as the data from the.

    I think that reverting of the changes was the bad idea.

    If one would use searchOnEnter: true option the usage of .triggerHandler("change") and to start searching with Enter key the problem should not take place because of the line

    $("#"+fid+"_search").focus().click();
    

    where the focus will be explicitly set to “Search” button before processing of the click event. In the way the "change" event will be indirectly triggered and the data in the filter will be refreshed.

    I think that one can fix the problem which you described without direct triggering of change events. Instead of that one can include explicit setting of the focus

    $("#"+fid+"_search").focus();
    

    inside of click event handler (see the line). It’s important to do this before the line where .jqFilter('filterData') will be called.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Using IE8, jQuery 1.6.1.min.js. The JSON that comes from the REST service seems to
I'm using IE8 and webdriver. The problem I have is every time webdriver runs
How can I track the browser idle time? I am using IE8. I am
Using jQuery in IE8, I'm creating a div with a class (ex. <div class=className></div>
I have a JQuery (using JQuery 1.4.2) problem that exhibits only in IE8 in
I'm using <!--[if IE 8]><![endif]--> for targeting IE8, but there's some JS that I
I'm using the new API to set the width of my jqGrid like this:
I'm using IE8 and jQuery 1.4.2. My web page is no longer rendering correctly,
My links correctly open a new window when using IE8; but when I use
For some reason I cannot seem to get IE8 to display my jqgrid right

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.