select.blade.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <div class="input-group input-group-sm">
  2. <select style="width: 100%;" class="grid-column-select" data-reload="{{ $refresh }}" data-url="{{ $url }}" data-name="{{ $column }}">
  3. @foreach($options as $k => $v)
  4. @php($selected = Dcat\Admin\Support\Helper::equal($k, $value) ? 'selected' : '')
  5. <option value="{{ $k }}" {{ $selected }}>{{ $v }}</option>
  6. @endforeach
  7. </select>
  8. </div>
  9. <script require="@select2?lang={{ config('app.locale') === 'en' ? '' : str_replace('_', '-', config('app.locale')) }}">
  10. $('.grid-column-select').off('change').select2().on('change', function(){
  11. var value = $(this).val(),
  12. name = $(this).data('name'),
  13. url = $(this).data('url'),
  14. data = {},
  15. reload = $(this).data('reload');
  16. if (name.indexOf('.') === -1) {
  17. data[name] = value;
  18. } else {
  19. name = name.split('.');
  20. data[name[0]] = {};
  21. data[name[0]][name[1]] = value;
  22. }
  23. Dcat.NP.start();
  24. $.put({
  25. url: url,
  26. data: data,
  27. success: function (d) {
  28. Dcat.NP.done();
  29. if (d.status) {
  30. Dcat.success(d.data.message);
  31. reload && Dcat.reload();
  32. } else {
  33. Dcat.error(d.data.message);
  34. }
  35. }
  36. });
  37. });
  38. </script>