Есть ли простой способ добавить и удалить завершающую букву 's' в списке периодов времени?
Так, например, когда пользователь вводит значение 5 во вход, соседний список для "дня", "недели", "месяца" и "года" в конце добавляется буква "s".
И если пользователь должен ввести значение 1, эта буква "s" будет удален из списка периодов времени (то есть, если он уже был добавлен этим скриптом).
Вот что у меня есть на данный момент:
$(document).ready(function() {
$('.format-input').each(function() {
$(this).keyup(function() {
if (parseInt($(this).val()) > 1) {
$(this).siblings('.format').eq(0).children().each(function() {
if ($(this).val() > 1) {
txt = $(this).html().concat('s');
$(this).html(txt);
}
});
}
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div class="combined-input">
<input type="text" name="length[]" class="length format-input" />
<select name="stay_format_id[]" class="format">
<option value="day">day</option>
<option value="week">week</option>
<option value="month">month</option>
<option value="year">year</option>
</select>
</div>
Вышесказанное не является хорошим решением. Каждый раз, когда нажимается клавиша на входе или на входе, к временным периодам добавляется буква «s». Итак, что происходит, когда пользователь вводит значение с более чем одним di git, например, из трех цифр, буква «s» будет добавлена к каждому введенному di git (например, daysss).
Он также не касается сценария, в котором пользователь вводит число выше 5, а затем меняет его обратно на значение ниже 2.
Я подумал, что это может быть часто задаваемый вопрос / ответ на который, потому что Я видел эту функцию в нескольких различных приложениях на протяжении многих лет, но мне не удалось найти что-либо о ней. Любая помощь будет принята с благодарностью!
Джеймс.