showimport.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. $(function()
  2. {
  3. $('[rows=3]').attr('rows', 1);
  4. $(document).on('change', 'input,select,textarea,radio,checkbox', function()
  5. {
  6. $(this).css('border-color', '');
  7. $(this).next('.text-error.red').remove();
  8. });
  9. var updatePicker = function($select, picker, search, options)
  10. {
  11. value = '';
  12. $.each(options, function(_, option)
  13. {
  14. if(search == option.text) value = option.value;
  15. });
  16. picker.setList(options);
  17. picker.updateList();
  18. if(value) picker.setValue(value);
  19. }
  20. var optionList = {};
  21. $('select').each(function()
  22. {
  23. var $select = $(this);
  24. if(!$select.val())
  25. {
  26. var picker = $select.data('zui.picker');
  27. if(picker)
  28. {
  29. var module = $select.data('module');
  30. var field = $select.data('field');
  31. var search = $select.data('value');
  32. var key = md5(module + '_' + field + '_' + search);
  33. if(optionList[key])
  34. {
  35. options = optionList[key];
  36. updatePicker($select, picker, search, options);
  37. }
  38. else
  39. {
  40. var url = createLink('flow', 'ajaxGetPairs', 'module=' + module + '&field=' + field);
  41. $.ajaxSettings.async = false;
  42. $.post(url, {search: search}, function(options)
  43. {
  44. options = JSON.parse(options);
  45. optionList[key] = options;
  46. updatePicker($select, picker, search, options);
  47. });
  48. $.ajaxSettings.async = true;
  49. }
  50. }
  51. }
  52. });
  53. $('#importTable').datatable();
  54. })