Страница 1 из 4

удалить быстрый поиск из поля город

СообщениеДобавлено: 19 сен 2013, 16:57
vanred79
Добрый день! Подскажите пожалуйста как удалить быстрый поиск городов из поля "Город". Код вроде понял где находится, но побоялся лишнее удалить :). Если не ошибаюсь находится в /js/jquery.multiselect.min.js.
Код: Выделить всё
function($){var rEscape=/[\-\[\]{}()*+?.,\\\^$|#\s]/g;$.widget("ech.multiselectfilter",{options:{label:"Filter:",width:null,placeholder:"Enter keywords",autoReset:false},_create:function(){var self=this,opts=this.options,instance=(this.instance=$(this.element).data("multiselect")),header=(this.header=instance.menu.find(".ui-multiselect-header").addClass("ui-multiselect-hasfilter")),wrapper=(this.wrapper=$('<div class="ui-multiselect-filter">'+(opts.label.length?opts.label:'')+'<input placeholder="'+opts.placeholder+'" type="search"'+(/\d/.test(opts.width)?'style="width:'+opts.width+'px"':'')+' /></div>').insertAfter(this.header));this.inputs=instance.menu.find('input[type="checkbox"], input[type="radio"]');this.input=wrapper.find("input").bind({keydown:function(e){if(e.which===13){e.preventDefault();}},keyup:$.proxy(self._handler,self),click:$.proxy(self._handler,self)});this.updateCache();instance._toggleChecked=function(flag,group){var $inputs=(group&&group.length)?group:this.labels.find('input'),_self=this,selector=self.instance._isOpen?":disabled, :hidden":":disabled";$inputs=$inputs.not(selector).each(this._toggleState('checked',flag));this.update();var values=$inputs.map(function(){return this.value;}).get();this.element.find('option').filter(function(){if(!this.disabled&&$.inArray(this.value,values)>-1){_self._toggleState('selected',flag).call(this);}});};var doc=$(document).bind("multiselectrefresh",function(){self.updateCache();self._handler();});if(this.options.autoReset){doc.bind("multiselectclose",$.proxy(this._reset,this));}},_handler:function(e){var term=$.trim(this.input[0].value.toLowerCase()),rows=this.rows,inputs=this.inputs,cache=this.cache;if(!term){rows.show();}else{rows.hide();var regex=new RegExp(term.replace(rEscape,"\\$&"),'gi');this._trigger("filter",e,$.map(cache,function(v,i){if(v.search(regex)!==-1){rows.eq(i).show();return inputs.get(i);}
return null;}));} 

Нужно убрать placeholder

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 19 сен 2013, 22:21
Mono
Присоединюсь к просьбе, но немного не так. Как вообще удалить умный поиск городов, а сделать просто выпадающий список всех городов справочника Города? В каком файле это задается?

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 09:07
andipas
В файле /protected/views/site/field-city-search.php

удаляем или комментируем код

Код: Выделить всё

    Yii
::app()->clientScript->registerScript('select-city', '
            $("#city")
                .multiselect({
                    noneSelectedText: "'
.Yii::t('common', 'select city').'",
                    checkAllText: "'
.Yii::t('common', 'check all').'",
                    uncheckAllText: "'
.Yii::t('common', 'uncheck all').'",
                    selectedText: "'
.Yii::t('common', '# of # selected').'",
                    minWidth: '
.$minWidth.',
                    classes: "search-input-new search-city-height",
                    multiple: "false",
                    selectedList: 1
                }).multiselectfilter({
                    label: "'
.Yii::t('common', 'quick search').'",
                    placeholder: "'
.Yii::t('common', 'enter initial letters').'",
                    width: 185
                });
        '
, CClientScript::POS_READY);
 


вместо

Код: Выделить всё

        array
('class' => $fieldClass.' height17 searchField', 'multiple' => 'multiple')
 


должно стать

Код: Выделить всё

        array
('class' => $fieldClass.' searchField')
 


теперь это обычный дропдаун.

По умолчанию стоит jquery multiselect виджет http://www.erichynds.com/examples/jquer ... get/demos/
И чтобы что то там поправить, нужно использовать его API, или разбираться в коде виджета, это только платно.

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 09:17
vanred79
Спасибо!

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 10:51
Mono
andipas писал(а):В файле /protected/views/site/field-city-search.php
теперь это обычный дропдаун.


Сработало, но в нем опять только те города на которые есть объявления, а как сделать что были вообще все из справочника Города?

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 11:56
vanred79
Mono писал(а):
andipas писал(а):В файле /protected/views/site/field-city-search.php
теперь это обычный дропдаун.


Сработало, но в нем опять только те города на которые есть объявления, а как сделать что были вообще все из справочника Города?


Лучше же когда показываются только те города которые есть, чтобы зря не искал посетитель.

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 13:47
Mono
vanred79 писал(а):Лучше же когда показываются только те города которые есть, чтобы зря не искал посетитель.


Может быть, но если нужного пользователю города нет в списке, он ничего не поймет, и почти наверняка сразу уйдет. Если же он получит - "Не найдено нужных объявлений . Попробуйте другие параметры поиска" почти наверняка он какое-то время поиграется с поиском, поищет в близких городах, и может даже чем-то заинтересуется. Пусть лучше зря ищет, но останется на сайте, чем сразу закроет вкладку.

А во вторых не очень сложно самому накидать на недостающие города по 2-3 объявления, чтобы гарантировано пользователь не получил пустой ответ. В принципе если не получится поставить полный список я так и сделаю у себя, но сейчас времени на это жалко, много другой работы по сайту

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 14:03
Xpycm
Файл protected\views\site\field-city-search.php
заменить:
Код: Выделить всё
$this->cityActive

на:
Код: Выделить всё
ApartmentCity::getAllCity() 

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 20 сен 2013, 15:10
Mono
Спасибо!

Re: удалить быстрый поиск из поля город

СообщениеДобавлено: 23 сен 2013, 02:22
Mono
Xpycm писал(а):Файл protected\views\site\field-city-search.php
заменить:
Код: Выделить всё
$this->cityActive

на:
Код: Выделить всё
ApartmentCity::getAllCity() 


а как сделать так чтобы по умолчанию не стоял первый город в списке, а был бы пустой запрос?