call($this, $this->row); } $this->addScript(); $optionsHtml = ''; foreach ($options as $option => $text) { $selected = (string) $option === (string) $this->value ? 'selected' : ''; $optionsHtml .= ""; } return << EOT; } protected function addScript() { $script = <<selector}').off('change').select2().on('change', function(){ var pk = $(this).data('key'), value = $(this).val(), name = $(this).data('name'), url = $(this).data('url') + '/' + pk, data = { _token: Dcat.token, _method: 'PUT' }; if (name.indexOf('.') === -1) { data[name] = value; } else { name = name.split('.'); data[name[0]] = {}; data[name[0]][name[1]] = value; } Dcat.NP.start(); $.ajax({ url: url, type: "POST", data: data, success: function (data) { Dcat.NP.done(); Dcat.success(data.message); } }); }); JS; Admin::script($script); } }