Използвам „Chosen plugin“ и не съм сигурен как да добавя атрибут към таговете с опции на списъка за избор.
Опитах това с помощта на jQuery на готов документ, но без успех.
Използвам „Chosen plugin“ и не съм сигурен как да добавя атрибут към таговете с опции на списъка за избор.
Опитах това с помощта на jQuery на готов документ, но без успех.
трябва да промените Chosen.Jquery.js до следното, за да работи
Използване на версия Chosen 1.0
Ред номер 62 добавете този ред код
this.parsed.push({
array_index: this.parsed.length,
options_index: this.options_index,
value: option.value,
text: option.text,
html: option.innerHTML,
title: option.title, // this is Line 62 add this line
selected: option.selected,
disabled: group_disabled === true ? group_disabled : option.disabled,
group_array_index: group_position,
classes: option.className,
style: option.style.cssText
});
Промяна на ред № 255
return "<li title=\"" + option.title +"\" class=\"" + (classes.join(' ')) + "\"" + style + " data-option-array-index=\"" + option.array_index + "\">" + option.search_text + "</li>";
I have tried this..but no luck
Зависи какво сте опитали. Опитайте тази функция, като я извикате с избрания елемент, който искате избраният му аналог да наследи заглавия
function cloneTitles(selectBox) {
//make sure it has already been chosen-ised
selectBox = $(selectBox).chosen();
//get all the original options, should be in same order as chosen ones
var origOpts = selectBox.find('option');
//get all the chosen-created 'options'
//NB there may be a better way to grab the chosen created element
var chznOpts = selectBox.next().find('.active-result')
//foreach option
origOpts.each(function(index, origOpt) {
//copy the attribute from the original
$(chznOpts[index]).attr('title', $(origOpt).attr('title'));
});
}
I have tried this on document ready
Вашият проблем може да е бил, че сте правили всичко, което сте опитвали, преди selected.js да преобразува вашите полета за избор, но тази функция трябва да смекчи това.
Освен това, ако имате нужда от това за множество полета за избор, просто използвайте .each()
(Напр. selectArray.each(function(i, select) { cloneTitles(select); })
Предполагам, че използвате jQuery, а не Prototype (предвид последния ви ред)
Така че можете да подадете '#id' вместо ‹DOMObj›, ако желаете.
Кодът може да бъде модифициран, за да клонира даден атрибут, вместо 'title'
, или дори масив от дадени атрибути!
.trigger('liszt:updated')
, така че вероятно няма да имате нужда да се тревожа за това
- person Hashbrown; 18.07.2013
Използване на версия Chosen 1.1
html: option.innerHTML, // Search
title: option.title, // Add
.
option_el.innerHTML = option.search_text; // Search
option_el.title = option.title; // Add