User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the JavaScript / DHTML / AJAX section within the Web Development category of DaniWeb, a massive community of 423,336 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 5,234 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our JavaScript / DHTML / AJAX advertiser: Lunarpages Web Hosting
Views: 675 | Replies: 0
Reply
Join Date: Aug 2007
Location: Morrisdale, PA
Posts: 52
Reputation: JeniF is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 5
JeniF's Avatar
JeniF JeniF is offline Offline
Junior Poster in Training

delete and refresh search results

  #1  
Jul 5th, 2008
Hello all..I am working on a search script that I am using AJAX and dynamic html to show results within a table. based on the users search criteria, I display the results and a summary of those results as well. I allow the user to delete results by row and a function is called to refresh the search criteria and redisplay the results and summary based on the results minus the deleted row. Everything works fine on the first deletion, but if I try to delete a second row of the refreshed results, I end up with the original result set redisplaying. My code is as follows:
  1. //initial function to display search results
  2.  
  3. function submit_createBatch_search()
  4. {
  5. var orderString = orderSearchArray.join("~");
  6. document.getElementById("orderString").value = orderString;
  7. //alert(orderString);
  8.  
  9. var location = document.getElementById('location').value;
  10. var chemicals = document.getElementById('chemicals').value;
  11. var startDate = document.getElementById('startDate').value;
  12. var endDate = document.getElementById('endDate').value;
  13.  
  14. var page = "dbQuery.php?mode=getSearchData&location=" + location + "&chemicals=" + chemicals + "&startDate=" + startDate + "&endDate=" + endDate + "&orderString=" + orderString ;
  15. var returnData = process_AJAX(page,1);
  16. var resultArray = returnData.split("||");
  17. //alert (resultArray);
  18.  
  19.  
  20.  
  21. //the table below displays the results of the search and allows the user to delete any particular row by calling the function 'submit_Resummarize_Batch_search(\""+resultArrayContent[0]+"\" --> carring the bc_id of the array
  22.  
  23. var dataTable = document.getElementById('SearchTable');
  24.  
  25. var numRows = dataTable.rows.length;
  26. if (numRows > 1)
  27. {
  28. //Delete all previous data in result table
  29. for (var i = numRows; i > 1; i--)
  30. {
  31. var rowIndexValue = i - 1;
  32. dataTable.deleteRow(rowIndexValue);
  33. }
  34. }
  35. ////ensures that there is data in the response text
  36. if (resultArray[0] != '')
  37. {
  38. orderResultArray.length = 0;
  39. for (var i = 0; i < resultArray.length -1; i++)
  40. {
  41. var resultArrayContent = resultArray[i].split("~");
  42. var newRow = dataTable.insertRow(-1);
  43. var ID = newRow.insertCell(0);
  44. var bc_id = newRow.insertCell(1);
  45. var location = newRow.insertCell(2);
  46. var releaseDate = newRow.insertCell(3);
  47. var chemical = newRow.insertCell(4);
  48. var uom = newRow.insertCell(5);
  49. var carrier = newRow.insertCell(6);
  50. var grower = newRow.insertCell(7);
  51. var farm = newRow.insertCell(8);
  52. var field = newRow.insertCell(9);
  53. var rowID = i + 1;
  54. ID.innerHTML="<img src= '../images/delete.gif' onClick='submit_Resummarize_Batch_search(\""+resultArrayContent[0]+"\");'/>";
  55. bc_id.innerHTML=resultArrayContent[0];
  56. location.innerHTML=resultArrayContent[1];
  57. releaseDate.innerHTML=resultArrayContent[2];
  58. chemical.innerHTML=resultArrayContent[3];
  59. uom.innerHTML=resultArrayContent[4];
  60. carrier.innerHTML=resultArrayContent[8];
  61. grower.innerHTML=resultArrayContent[5];
  62. farm.innerHTML=resultArrayContent[6];
  63. field.innerHTML=resultArrayContent[7];
  64. field.innerHTML=resultArrayContent[9];
  65. orderResultArray.push(resultArrayContent[0]);
  66. }
  67. }
  68. ////////the following table displays the summary results of the above table
  69.  
  70. var BatchTable = document.getElementById('BatchSummary');
  71.  
  72. var numRows = BatchTable.rows.length;
  73. if (numRows > 1)
  74. {
  75. //Delete all previous data in result table
  76. for (var i = numRows; i > 1; i--)
  77. {
  78. var rowIndexValue = i - 1;
  79. BatchTable.deleteRow(rowIndexValue);
  80. }
  81. }
  82. ////ensures that there is data in the response text
  83. if (resultArray[0] != '')
  84. {
  85.  
  86. for (var i = 0; i < resultArray.length -1; i++)
  87. {
  88. var resultArrayContent = resultArray[i].split("~");
  89. var newRow = BatchTable.insertRow(-1);
  90. var Title = newRow.insertCell(0);
  91. var blankA = newRow.insertCell(1);
  92. var blankB = newRow.insertCell(2);
  93. var blankC = newRow.insertCell(3);
  94. var blankF = newRow.insertCell(4);
  95. var blankAA = newRow.insertCell(5);
  96. Title.innerHTML="<B>Batch Summary</B>";
  97. blankA.innerHTML="";
  98. blankB.innerHTML="";
  99. blankC.innerHTML="";
  100. blankF.innerHTML="";
  101. blankAA.innerHTML="";
  102.  
  103. var newRow2 = BatchTable.insertRow(-1);
  104. var ChemicalLabel = newRow2.insertCell(0);
  105. var Chemical = newRow2.insertCell(1);
  106. var blankG = newRow2.insertCell(2);
  107. var BatchLabel = newRow2.insertCell(3);
  108. var Batch = newRow2.insertCell(4);
  109. ChemicalLabel.innerHTML="Product:";
  110. Chemical.innerHTML=resultArrayContent[3];
  111. blankG.innerHTML="";
  112. BatchLabel.innerHTML="Batch Name:";
  113. Batch.innerHTML="<input name=\"batch\" type=\"text\" size=\"30\" maxlength=\"25\" />";
  114.  
  115. var newRow3 = BatchTable.insertRow(-1);
  116. var AmountLabel = newRow3.insertCell(0);
  117. var Amount = newRow3.insertCell(1);
  118. var blankH = newRow3.insertCell(2);
  119. var PilotLabel = newRow3.insertCell(3);
  120. var Pilot = newRow3.insertCell(4);
  121. AmountLabel.innerHTML="Amount:";
  122. Amount.innerHTML=resultArrayContent[10];
  123. blankH.innerHTML="";
  124. PilotLabel.innerHTML="Pilot:";
  125. Pilot.innerHTML="<select name=\"pilot\"><option>Chris Haak</option> </select>";
  126.  
  127. var newRow4 = BatchTable.insertRow(-1);
  128. var blankD = newRow4.insertCell(0);
  129. var blankE = newRow4.insertCell(1);
  130. var blankBB = newRow4.insertCell(2);
  131.  
  132. var MixingLabel = newRow4.insertCell(3);
  133. var MixingLocation = newRow4.insertCell(4);
  134. blankD.innerHTML="";
  135. blankE.innerHTML="";
  136. blankBB.innerHTML="";
  137.  
  138. MixingLabel.innerHTML="Junge Mixing Location:";
  139. MixingLocation.innerHTML="<select name=\"mixingLocation\"><option>Virden</option> <option>Lincoln</option></select>";
  140.  
  141. var newRow5 = BatchTable.insertRow(-1);
  142. var CarrierLabel = newRow5.insertCell(0);
  143. var Carrier = newRow5.insertCell(1);
  144. var blank1 = newRow5.insertCell(2);
  145. var blank2 = newRow5.insertCell(3);
  146. CarrierLabel.innerHTML="Carrier:";
  147. Carrier.innerHTML=resultArrayContent[8];
  148. blank1.innerHTML="";
  149. blank2.innerHTML="";
  150.  
  151. var newRow6 = BatchTable.insertRow(-1);
  152. var CAmountLabel = newRow6.insertCell(0);
  153. var CarrierAmount = newRow6.insertCell(1);
  154. var blank3 = newRow6.insertCell(2);
  155. var blank4 = newRow6.insertCell(3);
  156. CAmountLabel.innerHTML="Amount:";
  157. CarrierAmount.innerHTML=resultArrayContent[11];
  158. blank3.innerHTML="";
  159. blank4.innerHTML="";
  160.  
  161.  
  162. //alert(resultArray.length);
  163. }
  164.  
  165. var newRow7 = BatchTable.insertRow(-1);
  166. var blank5 = newRow7.insertCell(0);
  167. var blank6 = newRow7.insertCell(1);
  168. var Save = newRow7.insertCell(2);
  169. var Cancel = newRow7.insertCell(3);
  170. blank5.innerHTML="";
  171. blank6.innerHTML="";
  172. Save.innerHTML="<button type=button name=\"Save\" onClick=\"save_Batch();\">Save</button>";
  173. Cancel.innerHTML="<button type=button name=\"Cancel\" onClick=\"cancel_Batch();\">Cancel</button>";
  174. }
  175. }///end of function for search results
  176.  
  177. ///the following function resummarizes and redisplays the results after the user deletes one of the search results
  178.  
  179.  
  180.  
  181.  
  182. function submit_Resummarize_Batch_search(deleteOrderId)
  183. {
  184. for (var i=0; i<orderResultArray.length; i++) {
  185. if (deleteOrderId == orderResultArray[i]) {
  186. orderResultArray.splice(i,1);
  187. }
  188. }
  189.  
  190. var orderString = orderResultArray.join("~");
  191. document.getElementById("orderString").value = orderString;
  192. //alert(orderString);
  193.  
  194. var page = "dbQuery.php?mode=getSearchData&orderString=" + orderString;
  195. var returnData = process_AJAX(page,1);
  196. var resultArray = returnData.split("||");
  197. //alert (resultArray);
  198.  
  199. /// redisplaying the search results after deleting a row
  200. var dataTable = document.getElementById('SearchTable');
  201.  
  202. var numRows = dataTable.rows.length;
  203. if (numRows > 1)
  204. {
  205. //Delete all previous data in result table
  206. for (var i = numRows; i > 1; i--)
  207. {
  208. var rowIndexValue = i - 1;
  209. dataTable.deleteRow(rowIndexValue);
  210. }
  211. }
  212. ////ensures that there is data in the response text
  213. if (resultArray[0] != '')
  214. {
  215. orderResultArray.length = 0;
  216. for (var i = 0; i < resultArray.length -1; i++)
  217. {
  218. var resultArrayContent = resultArray[i].split("~");
  219. var newRow = dataTable.insertRow(-1);
  220. var ID = newRow.insertCell(0);
  221. var bc_id = newRow.insertCell(1);
  222. var location = newRow.insertCell(2);
  223. var releaseDate = newRow.insertCell(3);
  224. var chemical = newRow.insertCell(4);
  225. var uom = newRow.insertCell(5);
  226. var carrier = newRow.insertCell(6);
  227. var grower = newRow.insertCell(7);
  228. var farm = newRow.insertCell(8);
  229. var field = newRow.insertCell(9);
  230. var rowID = i + 1;
  231. ID.innerHTML="<img src= '../images/delete.gif' onClick='submit_Resummarize_Batch_search("+resultArrayContent[0]+");'/>";
  232. bc_id.innerHTML=resultArrayContent[0];
  233. location.innerHTML=resultArrayContent[1];
  234. releaseDate.innerHTML=resultArrayContent[2];
  235. chemical.innerHTML=resultArrayContent[3];
  236. uom.innerHTML=resultArrayContent[4];
  237. carrier.innerHTML=resultArrayContent[8];
  238. grower.innerHTML=resultArrayContent[5];
  239. farm.innerHTML=resultArrayContent[6];
  240. field.innerHTML=resultArrayContent[7];
  241. field.innerHTML=resultArrayContent[9];
  242. //alert(resultArray.length);
  243. }
  244. }
  245. ////////this redisplays the summary results after the users deletes a row
  246.  
  247. var BatchTable = document.getElementById('BatchSummary');
  248.  
  249. var numRows = BatchTable.rows.length;
  250. if (numRows > 1)
  251. {
  252. //Delete all previous data in result table
  253. for (var i = numRows; i > 1; i--)
  254. {
  255. var rowIndexValue = i - 1;
  256. BatchTable.deleteRow(rowIndexValue);
  257. }
  258. }
  259. ////ensures that there is data in the response text
  260. if (resultArray[0] != '')
  261. {
  262.  
  263. for (var i = 0; i < resultArray.length -1; i++)
  264. {
  265. var resultArrayContent = resultArray[i].split("~");
  266. var newRow = BatchTable.insertRow(-1);
  267. var Title = newRow.insertCell(0);
  268. var blankA = newRow.insertCell(1);
  269. var blankB = newRow.insertCell(2);
  270. var blankC = newRow.insertCell(3);
  271. var blankF = newRow.insertCell(4);
  272. var blankAA = newRow.insertCell(5);
  273. Title.innerHTML="<B>Batch Summary</B>";
  274. blankA.innerHTML="";
  275. blankB.innerHTML="";
  276. blankC.innerHTML="";
  277. blankF.innerHTML="";
  278. blankAA.innerHTML="";
  279.  
  280. var newRow2 = BatchTable.insertRow(-1);
  281. var ChemicalLabel = newRow2.insertCell(0);
  282. var Chemical = newRow2.insertCell(1);
  283. var blankG = newRow2.insertCell(2);
  284. var BatchLabel = newRow2.insertCell(3);
  285. var Batch = newRow2.insertCell(4);
  286. ChemicalLabel.innerHTML="Product:";
  287. Chemical.innerHTML=resultArrayContent[3];
  288. blankG.innerHTML="";
  289. BatchLabel.innerHTML="Batch Name:";
  290. Batch.innerHTML="<input name=\"batch\" type=\"text\" size=\"30\" maxlength=\"25\" />";
  291.  
  292. var newRow3 = BatchTable.insertRow(-1);
  293. var AmountLabel = newRow3.insertCell(0);
  294. var Amount = newRow3.insertCell(1);
  295. var blankH = newRow3.insertCell(2);
  296. var PilotLabel = newRow3.insertCell(3);
  297. var Pilot = newRow3.insertCell(4);
  298. AmountLabel.innerHTML="Amount:";
  299. Amount.innerHTML=resultArrayContent[10];
  300. blankH.innerHTML="";
  301. PilotLabel.innerHTML="Pilot:";
  302. Pilot.innerHTML="<select name=\"pilot\"><option>Chris Haak</option> </select>";
  303.  
  304. var newRow4 = BatchTable.insertRow(-1);
  305. var blankD = newRow4.insertCell(0);
  306. var blankE = newRow4.insertCell(1);
  307. var blankBB = newRow4.insertCell(2);
  308.  
  309. var MixingLabel = newRow4.insertCell(3);
  310. var MixingLocation = newRow4.insertCell(4);
  311. blankD.innerHTML="";
  312. blankE.innerHTML="";
  313. blankBB.innerHTML="";
  314.  
  315. MixingLabel.innerHTML="Junge Mixing Location:";
  316. MixingLocation.innerHTML="<select name=\"mixingLocation\"><option>Virden</option> <option>Lincoln</option></select>";
  317.  
  318. var newRow5 = BatchTable.insertRow(-1);
  319. var CarrierLabel = newRow5.insertCell(0);
  320. var Carrier = newRow5.insertCell(1);
  321. var blank1 = newRow5.insertCell(2);
  322. var blank2 = newRow5.insertCell(3);
  323. CarrierLabel.innerHTML="Carrier:";
  324. Carrier.innerHTML=resultArrayContent[8];
  325. blank1.innerHTML="";
  326. blank2.innerHTML="";
  327.  
  328. var newRow6 = BatchTable.insertRow(-1);
  329. var CAmountLabel = newRow6.insertCell(0);
  330. var CarrierAmount = newRow6.insertCell(1);
  331. var blank3 = newRow6.insertCell(2);
  332. var blank4 = newRow6.insertCell(3);
  333. CAmountLabel.innerHTML="Amount:";
  334. CarrierAmount.innerHTML=resultArrayContent[11];
  335. blank3.innerHTML="";
  336. blank4.innerHTML="";
  337.  
  338.  
  339. //alert(resultArray.length);
  340. }
  341.  
  342. var newRow7 = BatchTable.insertRow(-1);
  343. var blank5 = newRow7.insertCell(0);
  344. var blank6 = newRow7.insertCell(1);
  345. var Save = newRow7.insertCell(2);
  346. var Cancel = newRow7.insertCell(3);
  347. blank5.innerHTML="";
  348. blank6.innerHTML="";
  349. Save.innerHTML="<button type=button name=\"Save\" onClick=\"save_Batch();\">Save</button>";
  350. Cancel.innerHTML="<button type=button name=\"Cancel\" onClick=\"cancel_Batch();\">Cancel</button>";
  351.  
  352. }
  353.  
  354.  
  355. }///end of function for search results

I need the function submit_Resummarize_Batch_search(\""+resultArrayContent[0]+"\" to work each time the users deletes a row, not just on the first pass...

any suggestions/help would be greatly appreciated...........
Last edited by peter_budo : Jul 6th, 2008 at 2:44 pm. Reason: Corecting tags, use [code=langauage] not [code = javascript] :-)
I keep hitting "escape", but I'm still here!!!!
:}
AddThis Social Bookmark Button
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb JavaScript / DHTML / AJAX Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Similar Threads
Other Threads in the JavaScript / DHTML / AJAX Forum

All times are GMT -4. The time now is 11:38 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC