Перейти к публикации

Не срабатывает функция


Рекомендованные сообщения

Стандартно в DLE идет бблиотека jQuery 1.4.4, однако след. плагин не работает с ней:

// Use this plugin to convert typical select drop-downs (non-multiple)

// to a custom drop-down element that can be styled in any way


$.fn.jselect = function(options) {


	var opts = $.extend({}, $.fn.jselect.defaults, options);


	$("body").click(function() {

		$(".select-inner").removeClass("flyout");


		$(".select-outer").each(function() {

			this.focused = false;

		});


		opts.onBlur();

	});


	return this.each(function() {


		var $this = $(this);


		var o = $.meta ? $.extend({}, opts, $this.data()) : opts;


		$this.addClass("jselect");


		$this.change(function() {

			$(".select-inner").removeClass("flyout");

			o.onChange($this);

		});


		$this.after('<div class="select-outer '+ $this.attr('class') +'"><div class="select-inner"><p></p></div></div>');


		var newSelect = $this.next();

		var selectInner = newSelect.find(".select-inner");

		var defaultOption = newSelect.find("p");


		if ($this.attr("id") != "") {

			newSelect.attr("id", "jselect-" + $this.attr("id"));

		}


		defaultOption.text($this.find("option:selected").text());


		defaultOption.after('<div class="options"><ul></ul></div>');


		var optionList = newSelect.find("ul");


		$this.children("option").each(function() {

			if ($(this).is(":selected")) {

				optionList.append('<li class="item_' + $(this).attr('value') + ' selected">' + $(this).text() + '</li>');

			} else {

				optionList.append('<li class="item_' + $(this).attr('value') + '">' + $(this).text() + '</li>');

			}

		});


		if (optionList.innerHeight() > o.maxOptionsHeight) {


			newSelect.find(".options").addClass("scrolled");


			var optionsWidth = optionList.innerWidth();


			optionList.css("width", optionsWidth + o.listRightPadding + "px"); 

			optionList.css("height", o.maxOptionsHeight + "px");

			optionList.jScrollPane(o.jScrollPaneOptions);

		}


		newSelect[0].focused = false;


		var showOptions = function() {

			$(".select-inner").removeClass("flyout");

			$(this).toggleClass("flyout");


			if (!newSelect[0].focused) {


				$(".select-outer").each(function() {

					this.focused = false;

				});


				newSelect[0].focused = true;

				o.onFocus();

			}

			return false;

		};


		selectInner.click(showOptions);


		$this.keyup(function(event) {

			if(event.keyCode == 40 || event.keyCode == 38) {  

				var text = $(this).find('option:eq('+ $(this).val() +')').text();

				defaultOption.text(text); 

				optionList.find("li").removeClass("selected");

				optionList.find(".item_" + $(this).val()).addClass("selected");

			}

		});


		optionList.find("li").click(function() {

			defaultOption.text($(this).text());


			optionList.find("li").removeClass("selected");

			$(this).addClass("selected");


			$this.val($(this).text());


			selectInner.removeClass("flyout");


			$this.change();


			return false;

		});


		if ($.browser.msie && $.browser.version == "6.0") {

			optionList.find("li").mouseover(function() {

				$(this).addClass("jhover");

			})

			.mouseout(function() {

				$(this).removeClass("jhover");

			});

		}


	});


};


$.fn.jselect.defaults = {

	maxOptionsHeight: 27*5,

	listRightPadding: 0,

	jScrollPaneOptions: {},

	onFocus: function() {},

	onBlur: function() {},

	onChange: function(el) {}

};

визуально все меняется, выбирать элемент из списка выбрать можно, но при отправлении формы выбранный элемент не устанавливается. То есть у спрятонного select'a не выбирается option и не отправляется с формой.

Однако если подключить библиотеку 1.3.2, то все работает, но большинство стандартных функций падают.

Подскажите, если кто знает, что в вышеуказанной функции не так. Помогите ее адаптировать под 1.4.4.

Ссылка на сообщение
Поделиться на других сайтах

Попробуйте подключить 1.5.2

Пробовал :)

С библиотекой выше 1.4 не работает функция, а с 1.3.2 не работают некоторые стандартные функции. :(

Ссылка на сообщение
Поделиться на других сайтах

А что это за селекты, я толком не понял. Это просто изменение внешнего вида селекта или что? Я недавно делал такое, может попробовать использовать другой скрипт?

Ссылка на сообщение
Поделиться на других сайтах

Такой скрипт юзают на yatv.ru. У них там все плагины скомпилины в один файл скрипта. И css также. Ну я вроде определил что именно этот участок отвечает за изменение дизайна. А когда подключаю весь их файл, на сайте начинается жесть просто... :wacko: но форма срабатывает нормально

Просто он мне удобным показался плане изменения диза, хотя функционала у него вообще нет особого. С клавиатуры не реагирует совсем. Если есть что-нибудь на примете, подскажи пожалуйста.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо. Разобрался с этой cusel, наконец-то .. :lol: css настраивал долго. В трех соснах еле разобрался :lol:

Посоветуй для input типа file. пробовал вот какой, но.. не проканал почему-то

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...