lazyproger, На вот лучше код покритикуй, в свете данного топика решил нативный яваскрипт изучить
Code (+/-)
<style type="text/css"> p>strong{ cursor: pointer;} </style>
<form action="" method="post">
<div class="gmenu">
<p>Цена (за 1 неделю):
<p><input id="inp" type="text" name="cost" value="<?= $money ?>" size="15" />$
<p>(Мин. <strong id="num-<?= number_format($min) ?>"><?= number_format($min) ?></strong>$/нед.
Макс. <strong id="num-<?= number_format($max) ?>"><?= number_format($max) ?></strong>$/нед.)
<p><input type="submit" name="submit" value="Арендовать" /></p>
</div>
</form>
<script type="text/javascript">
var inputs = document.getElementsByTagName('strong');
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener('click', cost);
}
function cost() {
document.getElementById('inp').value = this.id.replace(/[^\d;]/g, '');
}
</script>
kantry, дома буду, закину замечания
# kantry (15.10.2017 / 15:53)
Hat-Trik, Если просто то как то так
<textarea id="click"></textarea>
<p><a style="color:black" href="#" onClick="document.getElementById('click').value = 'user1'">user1</a>
<p><a style="color:blac
ещё раз всем привет, вернёмся вот к этому, работа пошла дальше и теперь делается журнал ответов
значит кликаем мы по user1, в texterea у нас попадает user1 и мы пишем комментарий, но при этом теперь ещё требуется, что бы в скрытое поле hidden вводилось ID поста, на который мы отвечаем, как реализовать?
Возьми мой ответ, чуть позже дополню. До компа не могу добраться
Есть у меня блок с уведомлением, по нажатию на который этот блок закрывается и далее идёт переход к другому блоку id которого берется из адреса в истории браузера. Всё это реализовано при помощи js и работает замечательно, но!
Если мы отправляемся на страницу, там происходит действие и тут же идёт перенаправление через header('Location...'), то в историю такая страница не попадает и, соответственно я не могу взять данные из адреса.
Как можно решить данную проблему, есть идеи?
---
Пробовал без использования истории браузера в hash адреса передавать что-то типа #post=123,а потом парить, но что-то не вышло у меня. (Думаю это решение правильнее)
---
Можно конечно в адресе при переадресации прописать &post=123, но хотелось бы это сделать через hash.
seg0ro, Ну как-то так наверное можно.
Есть хэш "
#test=1&test2=22"
var hash_array = location.hash.substring(1).split('&');
var test = [];
hash_array.map(function (param) {
test[param.split('=')[0]] = param.split('=')[1]
return test;
});
// В переменной test будет это:
// [test: "1", test2: "22"]
З.Ы. Возможно код можно получше написать))
history.pushState может вызвать где-нить
Короч, проще. У меня было header('Location: ...'), а я сделал header('Refresh: 0 URL=...') - страница записывается в историю, я из истории беру ID сообщения, профит!
если вдруг нужен быдлокод, то вот как я сделал.
function idChange(elem, jump) {
var hash;
if (location.hash){
hash = location.hash.split("#")[1];
}
if (elem)
hash = elem;
if (hash) {
var wrapper = document.getElementsByClassName("wrapper");
if (wrapper[0].id == hash)
wrapper[0].id = "main";
else
wrapper[0].id = hash;
history.replaceState({}, document.title, window.location.href.split("#")[0]);
}
if (jump) {
const url = new URL(document.referrer);
document.getElementById("p" + url.searchParams.get("post")).scrollIntoView({block: "start", inline: "nearest", behavior: "smooth"});
}
}
Есть такой код подсчёта количества чекбоксов
var count = 0;
$(function() {
count = $('input[class=count-checked-1]:checked').length;
displayCount();
$('input[class=count-checked-1]').bind('click', function(e, a) {
if (this.checked) {
count += a ? -1 : 1;
} else {
count += a ? 1 : -1;
}
displayCount();
});
});
function displayCount() {
$('#count').text(count);
}
Вывод
<div>
Выбрано: <span id="count"></span>
</div>
Считает кол-во чекбоксов отмеченных с классом count-checked-1
У меня есть несколько рядов чекбоксов с классами count-checked-1 (-2 -3 -4 и т.д.)
Как для каждого ряда чекбоксов сделать подсчёт и вывод? А так же добавить кнопку "очистить". Чтобы очищались чекбоксы только этого ряда.
Сгруппируй чекбоксы по разным дивам с разными классами например и дальше уже по селектору можешь выбирать только чекбоксы в нужной строке.