title: jQuery & jqGrid - multiple options within grid column
body: <p>Using jQuery &amp; AJAX to retrieve data from a SQL database.  I'm considering using jqGrid (if it is possible).  When the data is retrieved, depending on its priority &amp; whether it must be acknowledged, it can present 1 of 3 options on each row:  a Dropdown box (requiring the user to select an option in it), a submit button (to acknowledge it was received), or it can say "None Required".  In general, it would look like the image below:</p>
  
  <p><img src="https://i.stack.imgur.com/N6h7A.png" alt="ActionPanel"></p>
  
  <p>The AJAX call is on an interval &amp; will be refreshed every 30 seconds.  </p>
  
  <p>What has to happen is the items requiring an action when the user clicks/selects them, would update the data source &amp; update the row with their response and the date time they responded.  </p>
  
  <p>There could be multiple rows with dropdown boxes, there could also be multiple rows with submit buttons.  Once an item has been responded to (or if nothing is required) the message would go away (be filtered out) on the next refresh.  </p>
  
  <p>Other info - the items in the dropdown would be the same ones for each row.  Also, if the user has a dropdown open, the interval would stop and would then restart once a selection is made (the grid should not refresh while the dropdown box is open).  </p>
  
  <p>Can something like this be done using jqGrid, or better/easier done using another jQuery plugin, or should it be done in HTML (using jQuery)?  I would appreciate any input.  </p>
  
  <p><strong>EDIT</strong></p>
  
  <p>I am testing the grid now (just displaying data) to see how it is working using <code>setInterval</code>.  I use code below to set the interval.</p>
  
  <pre><code>iLoad = setInterval(function(){
      mytime = new Date();
      mytime = new Date(mytime - 60000);
      mytimeString = ('00'+(mytime.getHours())).slice(-2) +":"+('00' + (mytime.getMinutes())).slice(-2) + ":"+ ('00' + (mytime.getSeconds())).slice(-2) + "."+ ('000' + (mytime.getMilliseconds())).slice(-3);
      var cday = new Date();
      var curday = ('00'+(cday.getdate())).slice(-2);
      var curmon = ('00'+(cday.getMonth())).slice(-2);
      var curyr = cday.getFullYear();
      var currdate = curyr +"-"+curmon+"-"+curday;
      gridload(id, mytimeString, currdate);
      }, 60000);
  </code></pre>
  
  <p>What I notice is that on the first time it is called, the grid does a <code>GET</code> on the data source, but that afterwards, when the interval fires again, it's not doing a new <code>GET</code>.  I put in some log displays that shows it is calling the function, but a display within the grid code (in the <code>loadComplete</code>) fires only the first time.  The time I am sending is asking for anything new on the table since the time parameter I am passing, so I was expecting it to fire each time.  </p>
  
  <p>The code that is setting the interval had previously been getting the same info &amp; putting it into an HTML table, so I know the interval is firing like it is supposed to.  </p>
  
  <p>I don't have anything set to cache or load once on the grid.  What am I missing?  Why isn't the interval making it do a subsequent <code>GET</code> on the data?</p>