#javascript #jquery
Здравствуйте. Помогите перемешать строки в textarea средствами только JQuery Есть форма, в ней только адреса сайтов которые всегда начинаются на http или https
Ответы
Ответ 1
Решение на jQuery: $.fn.shuffleValueRows = function() { var rows = this.val().trim().split('\n'); var shuffled = shuffle(rows).join('\n'); this.val(shuffled); return this; function shuffle(o) { for(var j, x, i = o.length; i; j = Math.random() * i |0, x = o[--i], o[i] = o[j], o[j] = x); return o; }; } $(document).on('click', '.shuffleBtn', function() { $($(this).data('selector')).shuffleValueRows(); });https://vk.com https://mail.google.com http://ru.stackoverflow.com http://enjoycss.com
Ответ 2
Ну как-то так: document.querySelector('#shuffle').addEventListener('click', _ => { let textarea = document.querySelector('#siteList'); textarea.value = textarea.value.split(`\n`).filter(_ => _).reduce((a, e) => (a.splice(Math.random() * (a.length + 1), 0, e), a), []).join(`\n`); /*var chanks = textarea.value.split("\n"), shuffled = []; for(var i = 0; i < chanks.length; i++){ var chank = chanks[i]; if(/^\s*$/.test(chank)){ continue; } shuffled.splice(Math.random() * (shuffled.length + 1), 0, chank); } textarea.value = shuffled.join("\n");*/ }); textarea{ width: 250px; height: 100px; }https://vk.com https://mail.google.com http://ru.stackoverflow.com http://enjoycss.com
Комментариев нет:
Отправить комментарий