Укороченная версия с использованием селектора jQuery :gt()
и .appendTo()
:
$('select.js-select-1').change(function(e) {
var $options = $(`option:gt(${this.selectedIndex})`, this).clone();
$options.appendTo(
$('select.js-select-2')
.find('> option:not(:first)')
.remove()
.end()
);
});
Причина, по которой нам нужно clone
отфильтровать с, заключается в том, что без этого эти элементы будут отсоединены и добавлены к целевому элементу, а не фактически скопированы поверх .
Бросить другой Прагматический заголовок Программистов в соединение: Поставьте Его!
Замечательная книга - смотрит, мог бы удовлетворить Вашим потребностям с управлением.
Я предлагаю, чтобы Вы запустили с того, о чем Вы договариваетесь: Ночные Сборки и Автоматизированные тесты. Ночные сборки являются легкой задачей. Для Автоматизированных тестов я запустил бы с:
Если Вы сделаете это, то Вы начнете приобретать опыт. С этим опытом будет намного легче понять весь хороший совет, который имеет литература.
Существует много хороших книг по хорошей практике, но необходимо выяснить что работы для команды.
Для Ваших потребностей я рекомендую Разработку через тестирование: Примером (Kent Beck). Это ясно записано, более практично, чем теоретический, и предписывает испытанные рецепты для принятия гибкого, подхода, на котором делают пробную поездку.
Можно распечатать его Толпа и XP от Канавок Henrik Kniberg, Это больше фокусируется на процессе гибкой разработки, что на TDD, но это - легкое и быстрое чтение.
Это не действительно пошаговая книга, но полный больших советов и легкий к обзору: Методы Гибкого Разработчика. И если Вы хотите иметь в доме обучение TDD, я рекомендую netobjectives. У меня были их курса TDD, и это действительно открыло мои глаза.
К сожалению, даже самый четкий и определенный план может оказаться спорным.
Я скажу Вам что работы. Стартовый TDD сразу. Это имеет границы. Это относительно легко. У Вас все еще будет миллион вопросов.
Вы свободны сказать, "Но что относительно ночных сборок?" "Что относительно того, чтобы использовать средство отслеживания ошибки?"
Большое обдумывание может означать одну из двух вещей.
Во-первых, это может означать, что кто-то пачкает воды с "проблемами" и "вопросами". Иногда это - действительно неудовольствие при изменении, озвученном как "проблемы". Иногда это - действительно сокрушенные эго ("Я думал, что был довольно резок, теперь кто-то говорит, что мне нужно было наложить улучшения на меня".)
Во-вторых, это может означать, что это является угрожающе большим. Следовательно, не смотрите на это как "Много Новых Лучших практик". Посмотрите на это как всего на несколько последовательных усовершенствований. Вы не изменяете себя существенно (хорошо, который мог произойти, но не начинается с этим как Ваш план.)
Мой опыт состоит в том, что можно только сделать одну новую вещь за один раз. Сделайте TDD, пока это не будет скучно. Затем сделайте что-то еще. Часто ночные сборки становятся очевидными после того, как у Вас будет устойчивый набор тестов. Затем, когда это скучно, сделайте некоторое другое маленькое, возрастающее усовершенствование процесса.
Одна вещь за один раз. Маленькие шаги. Постарайтесь не выводить младенцев с водой в ванне. Все, что Вы хотите, должно быть немного лучше в следующем месяце, чем Вы в этом месяце.
Если существуют проблемы при принятии одного маленького возрастающего улучшения, найдите первопричину. То, кто эго, ушиблено? Кто волнуется по поводу изменения?
Существует больше дух. Основное является вниманием на:
коммуникация
реактивность к изменениям
клиентская ориентация
Это может быть достигнуто в партии путей, и более важно найти Ваш способ сделать это. Если Вы хотите пример того, каков этот дух может быть, можно читать, свободные 37signals' онлайн заказывают, Возвращаясь к реальности.
Они не большие правила, которые необходимо осуществить, но можно попробовать следующее и видеть, как это идет с Вами команда:
Быстрые стенды встречи. 5-15 минут, ежедневно встречающихся, где все не ложатся спать на его ногах и объясняют, что он выполнил, какая потребность быть сделанным и что может препятствовать тому, чтобы он делал ее. Сохраните это менее чем 15 минутами с минимальным числом людей.
Установите простые цели в течение краткосрочных крайних сроков вместо больших целей в течение многих недель.
Создайте малочисленную команду (3 человека) и разделите работу между ними. Поместите их в ту же комнату и удостоверьтесь, чтобы у них была по крайней мере половина дня для работы без ЛЮБОГО прерывания.
Установите многих мало регулярного обзора с Вашим клиентом. Не пишите спецификации. Эскиз, дизайн, прототип, показывает клиенту, фиксирует/адаптирует/изменяет затем сборку. Затем сделайте это снова.
Тестирование, управление версиями, отслеживание ошибок является инструментами, не методами. Никто не заботится, как Вы делаете это и с тем, какое программное обеспечение длинны, поскольку Вы делаете это. Они не проблема.
мой фаворит Планирует Экстремальное программирование
Править: это обеспечивает полную замену для традиционного управления проектами, приспособленного к команде XP / Гибкой команде
опасность, принимая современные методы разработки и затем дросселируя их с архаичными методами управления проектами и администрирования!