Ответы пользователя по тегу JavaScript
  • Что я делаю не так, внутри скрипта?

    @darknefrit
    Скажи а ты сам понимаешь что в коде написано ? Ты его не сам писал ?
    Ну я тоже могу тупить конечно но ты чёто не то сделал.
    Назначь на input уникальный id , а на кнопки повесь событие onclick="quantityMinus('input_id')" и quantityPlus('input_id')
    и напиши две функции
    <div class="countProduct">
    <input class="countProduct__input" type="number" name="countProdict_id1" id="countProdict_id1" value="1">
    <button type="button" onclick="quantityMinus('countProdict_id1')" class="countProduct__btn countProduct__btn--inc">
    -
    </button>
    <button type="button" onclick="quantityPlus('countProdict_id1')" class="countProduct__btn countProduct__btn--dec">
    +
    </button>
    </div>
                                                
    <div class="countProduct">
    <input class="countProduct__input" type="number" name="countProdict_id2" id="countProdict_id2" value="1">
    <button type="button" onclick="quantityMinus('countProdict_id2')" class="countProduct__btn countProduct__btn--inc">
    -
    </button> 
    <button type="button"   onclick="quantityPlus('countProdict_id2')" class="countProduct__btn countProduct__btn--dec">
    +
    </button>
    </div>

    function quantityMinus(target) {
        	let input = document.getElemetById(target);
            if (input.value > 1) {
                input.value= input.val() - 1;
            }
        }
        
        function quantityPlus(target) {
        let input = document.getElemetById(target);
            input.value = input.value + 1;
        }


    и постарайся не мешать jquery с vanilla js? лучше пиши всё на чистом js , jquery отупляет
    Ответ написан
    Комментировать
  • Почему JS преобразует массив PHP в объект?

    @darknefrit
    А что Вас смущает в работе с JS объектом ? У Вас ключи стали айдишниками, всё норм же? Какая разница как он называется объект или ассоциативный массив или карта ?:) В JS всё объекты.
    Ответ написан
    Комментировать
  • Как при открытие страницы открывалось модельное окно?

    @darknefrit
    <style>
                .modal.fade{
                    display:none;
                    position: fixed;
                    top:50%;
                    left:50%;
                    background-color: aquamarine;
                    padding: 30px;
                }
                .modal.fade.open{
                    display:block;
                }
            </style>
            <div id="modal" class="modal fade">
                <div class="modal-dialog" role="document">
                    <div class="modal-content tx-size-sm">
                        <div class="modal-body tx-center pd-y-20 pd-x-20">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                            <i class="icon ion-ios-checkmark-outline tx-100 tx-success lh-1 mg-t-20 d-inline-block"></i>
                            <h4 class="tx-success tx-semibold mg-b-20">Поздравляем!</h4>
                            <p class="mg-b-20 mg-x-20"><?php echo $_SESSION['success']; unset($_SESSION['success']); ?></p>
                            <button type="button" class="btn btn-success pd-x-25" data-dismiss="modal" aria-label="Close">Продолжить</button>
                        </div>
                    </div>
                </div>
            </div>
            <script  type= text/javascript>
    			document.addEventListener("DOMContentLoaded", function(event) {
                        document.getElementById('modal').classList.add('open');
    			});
            </script>


    Зря Вы начали изучать Js с JQuery
    Ответ написан
    Комментировать
  • Как удалить все блоки, кроме того, по которому нажали?

    @darknefrit
    Если button в каждм блоке то почему бы не сделать
    <button class="btn-buy" onclick=cart.remove({"кроме":7})>

    а уже в
    cart={
    remove(data){
    let blocks = document.getElementsByClassName("table-cart--section");
    for (let block in blocks){
    if (blocks[block].dataset.productid !== data["кроме"])
     blocks[block].ParrentNode.RemoveChilde(blocks[block])
    }
    }
    }

    Если я правильно понял...

    Можно конечно и по вашему, вначале перебрать все блоки выбрать их dataset отправить их в вашу функцию и там опять их перебрать и удалить... Ну как то так эскпереминтируйте
    Ответ написан
    Комментировать
  • Как получить данных на select из база данных через javascript?

    @darknefrit
    Как то так наверное
    fetch(URL_forGetSelectData,
    ).then(function (response) {	
    	return response.json();
    }).then(function (response) {
    // если даные пришли в виде html: '<option value="value_1">name_1</option><option value="value_n">name_n</option>'
    	document.getElementById("selectId").innerHTML=response; 
    	// или если  данные пришли в виде json примерно :
    	// response = {
    	// 	"name_1":"value_1",
    	// 	//...
    	// 	"name_n":"value_n",
    	// };
    	let  fragment = document.createDocumentFragment();
    	for (let option in response){
    		let optionElem = new Option(option, response[option]);
    		fragment.appendChild(optionElem);
    	}
    	document.getElementById("selectId").appendChild(fragment);
    	
    	return;
    }).catch(function (error) {
    	console.log(error);	
    });
    Ответ написан
    Комментировать
  • Как заменить вводимые пользователем данные с помощью JS?

    @darknefrit
    Написать некую функцию, которая будет по некоей логике менять некие данные...
    Ответ написан
    2 комментария