Commit 5e9f3657484f18a239d2d0f89412c8ad339b3776
1 parent
71c4c77d
VItaliy 21.12.2015
upload
Showing
5 changed files
with
330 additions
and
177 deletions
Show diff stats
| 1 | +<?php | |
| 2 | +namespace frontend\components; | |
| 3 | +use frontend\models\SiteSearchForm; | |
| 4 | +use yii\base\Widget; | |
| 5 | + | |
| 6 | + | |
| 7 | +class SiteSearch extends Widget | |
| 8 | +{ | |
| 9 | + public function init(){ | |
| 10 | + | |
| 11 | + parent::init(); | |
| 12 | + | |
| 13 | + } | |
| 14 | + | |
| 15 | + | |
| 16 | + public function run() | |
| 17 | + { | |
| 18 | + $model = new SiteSearchForm(); | |
| 19 | + return $this->render('siteSearch', array('model'=>$model)); | |
| 20 | + } | |
| 21 | +} | |
| 0 | 22 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | +use yii\widgets\ActiveForm; | |
| 3 | +use yii\helpers\Html; | |
| 4 | +use yii\helpers\Url; | |
| 5 | +?> | |
| 6 | + | |
| 7 | +<ul class="side_list"> | |
| 8 | + <li class="by_articul"><a href="">По артикулу</a> | |
| 9 | + <div class="menu_search_down" style="display: none;"> | |
| 10 | + <?php $form = ActiveForm::begin(['options' => ['enctype'=> 'multipart/form-data', 'class'=>'form-search'], 'action' => Url::toRoute('site/search'), 'method'=>'get']); ?> | |
| 11 | + <input type="text" placeholder="Поиск" class="input_search1"> | |
| 12 | + <input type="submit" class="orange_small"><img src="/images/lunette.png"></input> | |
| 13 | + <a href="" class="full_search">Расширенный поиск</a> | |
| 14 | + <div class="search_span1_dropdown"> | |
| 15 | + | |
| 16 | + <div class="registration_for_detail_search"> | |
| 17 | + <div class="input"> | |
| 18 | + <label for="area_search" class="area_label">Тип поиска:</label> | |
| 19 | + <select class="area_search"> | |
| 20 | + <option value="" disabled="" selected="">точное совпадение</option> | |
| 21 | + <option value="2">Выбери меня!</option> | |
| 22 | + <option value="3">Выбери меня!</option> | |
| 23 | + <option value="5">Меня!</option> | |
| 24 | + <option value="4">Меня</option> | |
| 25 | + </select> | |
| 26 | + </div> | |
| 27 | + | |
| 28 | + | |
| 29 | + <div class="input"> | |
| 30 | + <label for="number">Номер:</label> | |
| 31 | + <input type="text" name="number" id="number" class="input_width"> | |
| 32 | + </div> | |
| 33 | + <div class="input"> | |
| 34 | + <label for="crossnumber">Кросс номер:</label> | |
| 35 | + <input type="text" name="crossnumber" id="crossnumber" class="input_width"> | |
| 36 | + </div> | |
| 37 | + <div class="input"> | |
| 38 | + <label for="mark">Производитель:</label> | |
| 39 | + <input type="text" name="mark" id="mark" class="input_width"> | |
| 40 | + </div> | |
| 41 | + <div class="input"> | |
| 42 | + <label for="name">Наименование:</label> | |
| 43 | + <input type="text" name="name" id="name1" class="input_width"> | |
| 44 | + </div> | |
| 45 | + </div> | |
| 46 | + </div> | |
| 47 | + <?php ActiveForm::end(); ?> | |
| 48 | + </div> | |
| 49 | + </li> | |
| 50 | + <li><a href="">По названию</a></li> | |
| 51 | + <li><a href="">По марке</a></li> | |
| 52 | + <li><a href="">VIN номеру</a></li> | |
| 53 | + <li style="width:130px"><a href="">Расходники для ТО</a></li> | |
| 54 | + | |
| 55 | +</ul> | |
| 56 | + | |
| 57 | + | |
| 58 | +<!--<div class="all-mramor-search">--> | |
| 59 | +<!-- --><?php //$form = ActiveForm::begin(['options' => ['enctype'=> 'multipart/form-data', 'class'=>'form-search'], 'action' => Url::toRoute('site/search'), 'method'=>'get']); ?> | |
| 60 | +<!----> | |
| 61 | +<!-- --><?//= $form->field($model, 'string',[ | |
| 62 | +// 'options'=> | |
| 63 | +// [ | |
| 64 | +// 'tag'=>'label', | |
| 65 | +// ], | |
| 66 | +// 'template' => "{input}", | |
| 67 | +// ])->textInput(['maxlength' => 255, 'placeholder' => 'Поиск','class'=>'mramor-search']) ?> | |
| 68 | +<!----> | |
| 69 | +<!-- <input class="search-text" type="submit" value="">--> | |
| 70 | +<!-- --><?php //ActiveForm::end(); ?> | |
| 71 | +<!--</div>--> | |
| 0 | 72 | \ No newline at end of file | ... | ... |
frontend/controllers/SiteController.php
| ... | ... | @@ -5,22 +5,22 @@ use common\models\Accounts; |
| 5 | 5 | use frontend\models\AccountsForm; |
| 6 | 6 | use common\models\News; |
| 7 | 7 | use common\models\Slider; |
| 8 | -use common\models\Team; | |
| 8 | + | |
| 9 | 9 | use common\models\TeamGroup; |
| 10 | 10 | use Yii; |
| 11 | 11 | use common\models\UserLoginForm; |
| 12 | 12 | use frontend\models\PasswordResetRequestForm; |
| 13 | 13 | use frontend\models\ResetPasswordForm; |
| 14 | -use frontend\models\SignupForm; | |
| 15 | -use frontend\models\ContactForm; | |
| 14 | + | |
| 16 | 15 | use yii\base\InvalidParamException; |
| 17 | 16 | use yii\web\BadRequestHttpException; |
| 18 | 17 | use yii\web\Controller; |
| 19 | 18 | |
| 20 | -use yii\filters\VerbFilter; | |
| 21 | -use yii\filters\AccessControl; | |
| 22 | 19 | use common\models\Callback; |
| 23 | 20 | use common\components\MailWidget; |
| 21 | +use frontend\models\SiteSearchForm; | |
| 22 | +use yii\db\Query; | |
| 23 | +use yii\data\ArrayDataProvider; | |
| 24 | 24 | /** |
| 25 | 25 | * Site controller |
| 26 | 26 | */ |
| ... | ... | @@ -45,6 +45,41 @@ class SiteController extends Controller |
| 45 | 45 | ]; |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | + public function actionSearch() | |
| 49 | + { | |
| 50 | + $this->layout = '/internal'; | |
| 51 | + $search = new SiteSearchForm(); | |
| 52 | + if ($search->load(Yii::$app->request->get()) && $search->validate()) { | |
| 53 | +// $query1 = (new Query()) | |
| 54 | +// ->select('name, image, description, translit ') | |
| 55 | +// ->addSelect(["CONCAT('stone/view') AS url"]) | |
| 56 | +// ->where(['like','name',$search->string]) | |
| 57 | +// ->from('{{%stone}}'); | |
| 58 | +// | |
| 59 | +// $query2 = (new Query()) | |
| 60 | +// ->select('name, image, description, translit ') | |
| 61 | +// ->addSelect(["CONCAT('goods/one-item') AS url"]) | |
| 62 | +// ->where(['like','name',$search->string]) | |
| 63 | +// ->from('{{%goods}}'); | |
| 64 | +// | |
| 65 | +// $dataProvider = new ArrayDataProvider([ | |
| 66 | +// 'allModels' => $query1->union($query2)->all(), | |
| 67 | +// 'pagination' => [ | |
| 68 | +// 'pageSize' => 6, | |
| 69 | +// ], | |
| 70 | +// | |
| 71 | +// ]); | |
| 72 | + $dataProvider = array(); | |
| 73 | + | |
| 74 | + return $this->render('search', [ | |
| 75 | + | |
| 76 | + 'dataProvider' => $dataProvider, | |
| 77 | + ]); | |
| 78 | + | |
| 79 | + | |
| 80 | + } | |
| 81 | + } | |
| 82 | + | |
| 48 | 83 | /** |
| 49 | 84 | * Displays homepage. |
| 50 | 85 | * | ... | ... |
| 1 | +<?php | |
| 2 | +namespace frontend\models; | |
| 3 | + | |
| 4 | +use yii\base\Model; | |
| 5 | +use Yii; | |
| 6 | + | |
| 7 | +class SiteSearchForm extends Model | |
| 8 | +{ | |
| 9 | + | |
| 10 | + public $string; | |
| 11 | + | |
| 12 | + | |
| 13 | + public function rules() | |
| 14 | + { | |
| 15 | + return [ | |
| 16 | + [['string'], 'required'], | |
| 17 | + ]; | |
| 18 | + } | |
| 19 | + | |
| 20 | + public function attributeLabels() | |
| 21 | + { | |
| 22 | + return [ | |
| 23 | + 'string', | |
| 24 | + ]; | |
| 25 | + } | |
| 26 | +} | |
| 0 | 27 | \ No newline at end of file | ... | ... |
frontend/web/js/select.js
| ... | ... | @@ -1097,178 +1097,178 @@ $('.steel').selectize({ |
| 1097 | 1097 | return false; |
| 1098 | 1098 | } |
| 1099 | 1099 | }); |
| 1100 | - | |
| 1101 | - | |
| 1102 | -$('#number').selectize({ | |
| 1103 | - persist: false, | |
| 1104 | - maxItems: 1, | |
| 1105 | - valueField: 'vinvin', | |
| 1106 | - searchField: ['vinvin','vin_number'], | |
| 1107 | - options: [ | |
| 1108 | - {vinvin:'12345', vin_number:'12345'}, | |
| 1109 | - {vinvin:'34567',vin_number:'34567'}, | |
| 1110 | - {vinvin:'75434',vin_number:'75434'} | |
| 1111 | - ], | |
| 1112 | - render: { | |
| 1113 | - item: function(item, escape) { | |
| 1114 | - return '<div>' + | |
| 1115 | - (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1116 | - (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1117 | - '</div>'; | |
| 1118 | - }, | |
| 1119 | - option: function(item, escape) { | |
| 1120 | - var label = item.vinvin || item.vin_number; | |
| 1121 | - var caption = item.vin ? item.vin_number : null; | |
| 1122 | - return '<div>' + | |
| 1123 | - '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1124 | - (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1125 | - '</div>'; | |
| 1126 | - } | |
| 1127 | - }, | |
| 1128 | - createFilter: function(input) { | |
| 1129 | - var match, regex; | |
| 1130 | - | |
| 1131 | - // email@address.com | |
| 1132 | - regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1133 | - match = input.match(regex); | |
| 1134 | - if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1135 | - | |
| 1136 | - // name <email@address.com> | |
| 1137 | - regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1138 | - match = input.match(regex); | |
| 1139 | - if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1140 | - | |
| 1141 | - return false; | |
| 1142 | - }, | |
| 1143 | - create: function(input) { | |
| 1144 | - if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1145 | - return {email: input}; | |
| 1146 | - } | |
| 1147 | - var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1148 | - if (match) { | |
| 1149 | - return { | |
| 1150 | - vin : match[1], | |
| 1151 | - vin_number : $.trim(match[1]) | |
| 1152 | - }; | |
| 1153 | - } | |
| 1154 | - alert('Invalid email address.'); | |
| 1155 | - return false; | |
| 1156 | - } | |
| 1157 | -}); | |
| 1158 | - | |
| 1159 | -$('.input_search').selectize({ | |
| 1160 | - persist: false, | |
| 1161 | - maxItems: 1, | |
| 1162 | - valueField: 'vinvin', | |
| 1163 | - searchField: ['vinvin','vin_number'], | |
| 1164 | - options: [ | |
| 1165 | - {vinvin:'12345', vin_number:'12345'}, | |
| 1166 | - {vinvin:'34567',vin_number:'34567'}, | |
| 1167 | - {vinvin:'75434',vin_number:'75434'} | |
| 1168 | - ], | |
| 1169 | - render: { | |
| 1170 | - item: function(item, escape) { | |
| 1171 | - return '<div>' + | |
| 1172 | - (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1173 | - (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1174 | - '</div>'; | |
| 1175 | - }, | |
| 1176 | - option: function(item, escape) { | |
| 1177 | - var label = item.vinvin || item.vin_number; | |
| 1178 | - var caption = item.vin ? item.vin_number : null; | |
| 1179 | - return '<div>' + | |
| 1180 | - '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1181 | - (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1182 | - '</div>'; | |
| 1183 | - } | |
| 1184 | - }, | |
| 1185 | - createFilter: function(input) { | |
| 1186 | - var match, regex; | |
| 1187 | - | |
| 1188 | - // email@address.com | |
| 1189 | - regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1190 | - match = input.match(regex); | |
| 1191 | - if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1192 | - | |
| 1193 | - // name <email@address.com> | |
| 1194 | - regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1195 | - match = input.match(regex); | |
| 1196 | - if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1197 | - | |
| 1198 | - return false; | |
| 1199 | - }, | |
| 1200 | - create: function(input) { | |
| 1201 | - if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1202 | - return {email: input}; | |
| 1203 | - } | |
| 1204 | - var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1205 | - if (match) { | |
| 1206 | - return { | |
| 1207 | - vin : match[1], | |
| 1208 | - vin_number : $.trim(match[1]) | |
| 1209 | - }; | |
| 1210 | - } | |
| 1211 | - alert('Invalid email address.'); | |
| 1212 | - return false; | |
| 1213 | - } | |
| 1214 | -}); | |
| 1215 | - | |
| 1216 | -$('.input_search1').selectize({ | |
| 1217 | - persist: false, | |
| 1218 | - maxItems: 1, | |
| 1219 | - valueField: 'vinvin', | |
| 1220 | - searchField: ['vinvin','vin_number'], | |
| 1221 | - options: [ | |
| 1222 | - {vinvin:'12345', vin_number:'12345'}, | |
| 1223 | - {vinvin:'34567',vin_number:'34567'}, | |
| 1224 | - {vinvin:'75434',vin_number:'75434'} | |
| 1225 | - ], | |
| 1226 | - render: { | |
| 1227 | - item: function(item, escape) { | |
| 1228 | - return '<div>' + | |
| 1229 | - (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1230 | - (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1231 | - '</div>'; | |
| 1232 | - }, | |
| 1233 | - option: function(item, escape) { | |
| 1234 | - var label = item.vinvin || item.vin_number; | |
| 1235 | - var caption = item.vin ? item.vin_number : null; | |
| 1236 | - return '<div>' + | |
| 1237 | - '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1238 | - (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1239 | - '</div>'; | |
| 1240 | - } | |
| 1241 | - }, | |
| 1242 | - createFilter: function(input) { | |
| 1243 | - var match, regex; | |
| 1244 | - | |
| 1245 | - // email@address.com | |
| 1246 | - regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1247 | - match = input.match(regex); | |
| 1248 | - if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1249 | - | |
| 1250 | - // name <email@address.com> | |
| 1251 | - regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1252 | - match = input.match(regex); | |
| 1253 | - if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1254 | - | |
| 1255 | - return false; | |
| 1256 | - }, | |
| 1257 | - create: function(input) { | |
| 1258 | - if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1259 | - return {email: input}; | |
| 1260 | - } | |
| 1261 | - var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1262 | - if (match) { | |
| 1263 | - return { | |
| 1264 | - vin : match[1], | |
| 1265 | - vin_number : $.trim(match[1]) | |
| 1266 | - }; | |
| 1267 | - } | |
| 1268 | - alert('Invalid email address.'); | |
| 1269 | - return false; | |
| 1270 | - } | |
| 1271 | -}); | |
| 1100 | +// | |
| 1101 | +// | |
| 1102 | +//$('#number').selectize({ | |
| 1103 | +// persist: false, | |
| 1104 | +// maxItems: 1, | |
| 1105 | +// valueField: 'vinvin', | |
| 1106 | +// searchField: ['vinvin','vin_number'], | |
| 1107 | +// options: [ | |
| 1108 | +// {vinvin:'12345', vin_number:'12345'}, | |
| 1109 | +// {vinvin:'34567',vin_number:'34567'}, | |
| 1110 | +// {vinvin:'75434',vin_number:'75434'} | |
| 1111 | +// ], | |
| 1112 | +// render: { | |
| 1113 | +// item: function(item, escape) { | |
| 1114 | +// return '<div>' + | |
| 1115 | +// (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1116 | +// (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1117 | +// '</div>'; | |
| 1118 | +// }, | |
| 1119 | +// option: function(item, escape) { | |
| 1120 | +// var label = item.vinvin || item.vin_number; | |
| 1121 | +// var caption = item.vin ? item.vin_number : null; | |
| 1122 | +// return '<div>' + | |
| 1123 | +// '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1124 | +// (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1125 | +// '</div>'; | |
| 1126 | +// } | |
| 1127 | +// }, | |
| 1128 | +// createFilter: function(input) { | |
| 1129 | +// var match, regex; | |
| 1130 | +// | |
| 1131 | +// // email@address.com | |
| 1132 | +// regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1133 | +// match = input.match(regex); | |
| 1134 | +// if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1135 | +// | |
| 1136 | +// // name <email@address.com> | |
| 1137 | +// regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1138 | +// match = input.match(regex); | |
| 1139 | +// if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1140 | +// | |
| 1141 | +// return false; | |
| 1142 | +// }, | |
| 1143 | +// create: function(input) { | |
| 1144 | +// if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1145 | +// return {email: input}; | |
| 1146 | +// } | |
| 1147 | +// var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1148 | +// if (match) { | |
| 1149 | +// return { | |
| 1150 | +// vin : match[1], | |
| 1151 | +// vin_number : $.trim(match[1]) | |
| 1152 | +// }; | |
| 1153 | +// } | |
| 1154 | +// alert('Invalid email address.'); | |
| 1155 | +// return false; | |
| 1156 | +// } | |
| 1157 | +//}); | |
| 1158 | + | |
| 1159 | +//$('.input_search').selectize({ | |
| 1160 | +// persist: false, | |
| 1161 | +// maxItems: 1, | |
| 1162 | +// valueField: 'vinvin', | |
| 1163 | +// searchField: ['vinvin','vin_number'], | |
| 1164 | +// options: [ | |
| 1165 | +// {vinvin:'12345', vin_number:'12345'}, | |
| 1166 | +// {vinvin:'34567',vin_number:'34567'}, | |
| 1167 | +// {vinvin:'75434',vin_number:'75434'} | |
| 1168 | +// ], | |
| 1169 | +// render: { | |
| 1170 | +// item: function(item, escape) { | |
| 1171 | +// return '<div>' + | |
| 1172 | +// (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1173 | +// (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1174 | +// '</div>'; | |
| 1175 | +// }, | |
| 1176 | +// option: function(item, escape) { | |
| 1177 | +// var label = item.vinvin || item.vin_number; | |
| 1178 | +// var caption = item.vin ? item.vin_number : null; | |
| 1179 | +// return '<div>' + | |
| 1180 | +// '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1181 | +// (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1182 | +// '</div>'; | |
| 1183 | +// } | |
| 1184 | +// }, | |
| 1185 | +// createFilter: function(input) { | |
| 1186 | +// var match, regex; | |
| 1187 | +// | |
| 1188 | +// // email@address.com | |
| 1189 | +// regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1190 | +// match = input.match(regex); | |
| 1191 | +// if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1192 | +// | |
| 1193 | +// // name <email@address.com> | |
| 1194 | +// regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1195 | +// match = input.match(regex); | |
| 1196 | +// if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1197 | +// | |
| 1198 | +// return false; | |
| 1199 | +// }, | |
| 1200 | +// create: function(input) { | |
| 1201 | +// if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1202 | +// return {email: input}; | |
| 1203 | +// } | |
| 1204 | +// var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1205 | +// if (match) { | |
| 1206 | +// return { | |
| 1207 | +// vin : match[1], | |
| 1208 | +// vin_number : $.trim(match[1]) | |
| 1209 | +// }; | |
| 1210 | +// } | |
| 1211 | +// alert('Invalid email address.'); | |
| 1212 | +// return false; | |
| 1213 | +// } | |
| 1214 | +//}); | |
| 1215 | +// | |
| 1216 | +//$('.input_search1').selectize({ | |
| 1217 | +// persist: false, | |
| 1218 | +// maxItems: 1, | |
| 1219 | +// valueField: 'vinvin', | |
| 1220 | +// searchField: ['vinvin','vin_number'], | |
| 1221 | +// options: [ | |
| 1222 | +// {vinvin:'12345', vin_number:'12345'}, | |
| 1223 | +// {vinvin:'34567',vin_number:'34567'}, | |
| 1224 | +// {vinvin:'75434',vin_number:'75434'} | |
| 1225 | +// ], | |
| 1226 | +// render: { | |
| 1227 | +// item: function(item, escape) { | |
| 1228 | +// return '<div>' + | |
| 1229 | +// (item.vinvin ? '<span class="vinvin">' + escape(item.vinvin) + '</span>' : '')+ | |
| 1230 | +// (item.vin_number ? '<span class="vin_number">' + escape(item.vin_number) + '</span>' : '') + | |
| 1231 | +// '</div>'; | |
| 1232 | +// }, | |
| 1233 | +// option: function(item, escape) { | |
| 1234 | +// var label = item.vinvin || item.vin_number; | |
| 1235 | +// var caption = item.vin ? item.vin_number : null; | |
| 1236 | +// return '<div>' + | |
| 1237 | +// '<span class="vin_value">' + escape(label) + '</span>' + | |
| 1238 | +// (caption ? '<span class="caption">' + escape(caption) + '</span>' : '') + | |
| 1239 | +// '</div>'; | |
| 1240 | +// } | |
| 1241 | +// }, | |
| 1242 | +// createFilter: function(input) { | |
| 1243 | +// var match, regex; | |
| 1244 | +// | |
| 1245 | +// // email@address.com | |
| 1246 | +// regex = new RegExp('^' + REGEX_EMAIL + '$', 'i'); | |
| 1247 | +// match = input.match(regex); | |
| 1248 | +// if (match) return !this.options.hasOwnProperty(match[0]); | |
| 1249 | +// | |
| 1250 | +// // name <email@address.com> | |
| 1251 | +// regex = new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i'); | |
| 1252 | +// match = input.match(regex); | |
| 1253 | +// if (match) return !this.options.hasOwnProperty(match[2]); | |
| 1254 | +// | |
| 1255 | +// return false; | |
| 1256 | +// }, | |
| 1257 | +// create: function(input) { | |
| 1258 | +// if ((new RegExp('^' + REGEX_EMAIL + '$', 'i')).test(input)) { | |
| 1259 | +// return {email: input}; | |
| 1260 | +// } | |
| 1261 | +// var match = input.match(new RegExp('^([^<]*)\<' + REGEX_EMAIL + '\>$', 'i')); | |
| 1262 | +// if (match) { | |
| 1263 | +// return { | |
| 1264 | +// vin : match[1], | |
| 1265 | +// vin_number : $.trim(match[1]) | |
| 1266 | +// }; | |
| 1267 | +// } | |
| 1268 | +// alert('Invalid email address.'); | |
| 1269 | +// return false; | |
| 1270 | +// } | |
| 1271 | +//}); | |
| 1272 | 1272 | |
| 1273 | 1273 | $('#number1').selectize({ |
| 1274 | 1274 | persist: false, | ... | ... |