при выборе меньше 100 кнопка submit (отправка формы) не появлялась либо не была активна?
<button :disabled="notAllGoalsAchieved">submit</button>methods: {
notAchieved(goal) {
return goal.tasks.reduce((acc, n) => acc + n.value, 0) !== 100;
},
},
computed: {
notAllGoalsAchieved() {
return this.goals.some(this.notAchieved);
},
},показывать что конкретная цель не до конца проставлена(каким нибудь текстовым сообщением)
<span v-show="notAchieved(g)">не достигнута</span>
const input = document.querySelector('input');
const button = document.querySelector('button');
const num = 6;input.addEventListener('input', e => {
button.disabled = e.target.value % num;
});button.addEventListener('click', () => {
if (input.value % num) {
alert('такого нам не надо, пробуй ещё');
}
});input.addEventListener('change', ({ target: t }) => {
t.value = Math.max(0, (t.value / num | 0) * num);
});<button data-step="-1">-</button>
<button data-step="+1">+</button>document.querySelectorAll('[data-step]').forEach(function(n) {
n.addEventListener('click', this);
}, e => input.value = Math.max(0, +input.value + num * e.target.dataset.step));
this.setState(({small}) => { return { small: small } });
small, и осталось small. Наверное, всё-таки новое значение должно быть !small:this.setState(({ small }) => ({
small: !small,
}));
У меня пока получается получить только полную строку адреса дома, по которому пользователь кликнул при помощи getAddressLine()
<...>
хотелось бы иметь что-то проще чем парсинг строки с адресом
getPremiseNumber{String|null} getPremiseNumber()
Возвращает номер здания (включая корпус, владение и прочие дополнительные признаки).
const data = $('.price')
.filter((i, n) => +n.value)
.closest('tr')
.find('input[type="hidden"]')
.get()
.map(n => n.value);const data = Array
.from(document.querySelectorAll('.price'))
.filter(n => +n.value)
.map(n => n.closest('tr').querySelector('input[type="hidden"]').value);const data = Array.prototype.reduce.call(
document.getElementsByClassName('price'),
(acc, { value: v, parentNode: { parentNode: tr } }) => (
+v && acc.push(tr.cells[0].children[0].value),
acc
),
[]
);
Child components that havemetaInfowill recursively merge theirmetaInfointo the parent context, overwriting any duplicate properties.
Как можно решить эту проблему?
$num = 3.1415;
$sum = array_sum(array_slice(str_split(explode('.', $num)[1]), 2, 2));$num = 3.1415;
$idx = [ 1, 3, 5 ]; // индексы нужных цифр: 1 - это 4, 3 - это 5, 5 - этого уже нет, но ошибки не возникнет, будет использован 0
$digits = str_split(explode('.', $num)[1]);
$sum = array_reduce($idx, function($acc, $n) use($digits) {
return $acc + (isset($digits[$n]) ? $digits[$n] : 0);
}, 0);$num передавайте $num.'.'.
showFirstHideLast('table', 'tr', 3);.function showFirstHideLast(containerSelector, itemSelector, hideFrom) {
$(containerSelector).each((_, n) => {
$(itemSelector, n).show().slice(hideFrom).hide();
});
}function showFirstHideLast(containerSelector, itemSelector, hideFrom) {
document.querySelectorAll(containerSelector).forEach(n => {
n.querySelectorAll(itemSelector).forEach((m, i) => {
m.hidden = i >= hideFrom;
// или
m.style.display = i < hideFrom ? '' : 'none';
// или (в стили надо будет добавить .hidden { display: none; })
m.classList.toggle('hidden', i >= hideFrom);
});
});
}
когда оба поля заполнены нулями, необходимо выводить всю таблицу
(!min && !max).
localStorage.setItem('reorder', JSON.stringify(this.reorder));this.reorder = JSON.parse(localStorage.getItem('reorder')) || [];
i. на active.. Условие рендеринга окна станет v-if="active". Обработчик клика кнопки закрытия окна: @click="active = null". Обработчик клика на изображение внутри v-for: @click="active = i".