Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1105 Просмотров
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Здравствуйте!
Как при копировании информации из одного <select id="one"> ....</select> в новый <select id="two">...</select> создать в новом селекте  поле (chosen) для быстрой выборки из селекта?

Функция копирования:
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Здравствуйте!

Ну :
1.
Что у Вас тут ?
Код
var first = document.getElementById('SelectOne');
var options = first.innerHTML;
// >>>
console.log( options );
// >>>

100% - Эйнштейном клянусь - что var first - не совсем то что нужно ! )


*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Есть возможность посмотреть - то где Вы решаете задачи  ?
Тогда все просто ! - а так - то это как этот фильм

Дальше продолжим !
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Как при копировании информации из одного <select id="one"> ....</select> в новый <select id="two">...</select> создать в новом селекте  поле (chosen) для быстрой выборки из селекта?
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Что-то троекратная вставка получилась, Эйнштейн бы это не одобрил
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
А что мешает second.innerHTML += first.innerHTML если уж такая гулянка пошла?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
 ;D Ну да - Так точнее - но я так думаю что оставили для какой то обработки перед вставкой !
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Код
Что-то троекратная вставка получилась
Работает ! 
 :D
Это я в своем первом вопросе   неправильно id's у селектов написала. У меня в программе всё работало. Вопрос был не в том, как клонировать информацию из одного селекта в другой, а в том, как сделать, чтобы  для второго селекта сохранить/создать возможность быстрого поиска (choosen?). У первого селеста есть такой быстый поиск:
class="sel_inputbox". И есть

Код
JHtml::_('formbehavior.chosen', 'select.sel_inputbox', null, array('disable_search_threshold' => 0));
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
У второго селекта тоже указан class="sel_inputbox"
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Инициализацию chosen надо делать после изменения состава select:
Код
jQuery('#SelectTwo').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});
Если делаете повторную инициализацию chosen (напр. при многократном динамическом изменении селекта), то перед инициализацией надо сперва отключить предыдущий chosen на этом select:
Код
jQuery('#SelectTwo').chosen('destroy');
« Последнее редактирование: 12.09.2021, 10:49:38 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Инициализацию chosen надо делать после изменения состава select:
Код
jQuery('#SelectTwo').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});
Если делаете повторную инициализацию chosen (напр. при многократном динамическом изменении селекта), то перед инициализацией надо сперва отключить предыдущий chosen на этом select:
Код
jQuery('#SelectTwo').chosen('destroy');
Спасибо.
А где именно инициализацию надо делать (куда вставить jQuery('#SelectTwo').chosen...?
У меня по нажатию кнопки вызывается  function CloneSelect()
http://web.nioch.nsc.ru/proverka-textarea
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
У меня по нажатию кнопки вызывается  function CloneSelect()
Вот в ту функцию и вставляйте. Сразу после строки second.innerHTML = options2;
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Вот в ту функцию и вставляйте. Сразу после строки second.innerHTML = options2;
Вот:
Код

function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;

second.innerHTML = options2;
jQuery('#SelectTwo ').chosen('destroy');


jQuery('#SelectTwo ').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});

//alert('after jQuery '); 

}
Но ничего не изменилось. Может библиотек не [хватает?
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
jQuery('#SelectTwo ')
пробела перед кавычкой быть не должно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
jQuery('#SelectTwo ')
пробела перед кавычкой быть не должно.
Огромное Вам спасибо!
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться