public function registerClientScript()
{
$id = $this->options['id'];
if ($this->loadUrl !== null) {
$url = Url::to($this->loadUrl);
$this->clientOptions['load'] = new JsExpression("function (query, callback) { if (!query.length) return callback(); \$.getJSON('{$url}', { query: query }, function (data) { callback(data); }).fail(function () { callback(); }); }");
}
$options = Json::encode($this->clientOptions);
$view = $this->getView();
SelectizeAsset::register($view);
$view->registerJs("jQuery('#{$id}').selectize({$options});");
}