---
title: "JavaScript и jQuery заметки"
description: "JavaScript мелочи для себя # значение выделенного пункта select t = document.getElementById('...');..."
author: "fors"
published: "2012-06-27T22:34:28+00:00"
modified: "2014-04-24T00:01:37+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/javascript-i-jquery-zametki-272726"
markdown_url: "https://yvision.kz/post/javascript-i-jquery-zametki-272726/markdown"
site_name: "Yvision.kz"
---

# JavaScript и jQuery заметки

> JavaScript мелочи для себя # значение выделенного пункта select t = document.getElementById('...');...

JavaScript мелочи для себя

**# значение выделенного пункта select**

- t = document.getElementById('...'); // вместо '...' подставить id select'a

- alert(t.options[t.selectedIndex].text);

 

**# адрес страницы**

alert(location.href);

Удобно использовать для подстановки адреса, например, в формах и для POST/GET запросов, чтобы не заморачиваться с адресом строки, если данные отправляются на неё же.

 

**# передать в php данные и вернуть массив в jQuery с помощью JSON**

jQyery код

- $.getJSON("index.php?mod=creator", // куда передаём

- { show: t }, // какие параметры передаём

- function(json) {

- alert(json); // ответ. данные идут через запятую

- });

PHP код

- // $row - массив, ответ на запрос

- echo [json_encode](http://www.php.net/json_encode)($row);

 

**# глюк parseInt**

Представим что надо перевести значение месяца в число. Август - 08. parseInt('08') выдаст 0!!! Т.к. из-за первого 0 он считает число восьмеричным.

Чтобы этого не было надо указывать систему счисления.

Правильно обрабатывать надо так: **parseInt('08', 10);**

 

**# замена по всему тексту**

жирным выделено **что** и ***на что*** меняется. ключ ***g*** показывает что заменяется не один раз, а по всему тексту. есть два варианта.** **

text_r = text_r.replace(new RegExp(**massiv1[key]**,'g'),***massiv2[key]***);

*или*

text_r = text_r.replace(/**{fopl_r}**/g,***(json[6]==1?'1':'2')***);

 

**# задержка выполнения jQuery запроса**

Если запрос не успевает сработать и вернуть результат, то пользуемся асинхронной отправкой. Это блокирует браузер на время выполнения запроса.

задержка jQuery для обработки результата запроса

- $.ajax({

- type: "POST",

- url: "твой_урл",

- data: "spec=1", // какие-то данные отправляем

- async: false, // вот наша красота. делаем запрос синхронным

- success: function(da){

- // что-то делаем с полученным ответом da

- })

 

**# автоматический редирект, переход на другую страницу**

автоматический редирект, переход на другую страницу

- var a=10; // количество секунд отсчета

- function GoNah(){

- document.getElementById('sec').innerHTML = a--; //выводим на панель счетчика с id=sec

- if (a > 0) setTimeout( 'GoNah()', 1000 ); // через секунду по новой

- else location="localhost"; // сюда подставляем нужный урл

- }

- setTimeout( 'GoNah()', 1000 ); // выполняем функцию через секунду после открытия страницы

 

**# получить значения radiobutton**

- galka = $('input[name=theme'+theme+']:checked').val();

- // или если конкретно радиобаттон

- galka = $('input[name=vybor]:radio[checked]').val();

 

**# форматирование даты в 'yyyy-mm-dd'**

Делаем по-простому:
- var now = new Date();
- var Year = now.getFullYear();
- var Month = now.getMonth() + 1; // месяцы считает с 0, потому прибавим

- if (Month

- !window.jQuery && document.write('');

красивое решение :)

**# заготовка для ajax запросов для простого javascript**

- var xmlhttp = false;
- try { xmlhttp = new ActiveXalbumsect("Msxml2.XMLHTTP"); }

- catch(E) {

- try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }

- catch(E) { xmlhttp = false; }

- }

- if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

- xmlhttp = new XMLHttpRequest();

- }

- function makeQuery(serverPage, objectName) {

- xmlhttp.open("GET", serverPage, true);
- xmlhttp.onreadystatechange = function() {

- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

- var txt = xmlhttp.responseText;
- document.getElementById(objectName).innerHTML = txt;

- }

- }

- xmlhttp.send(null);

- }

Пример вызова:
- function PrDis() {

- var sem = document.getElementById('sem').value;
- var sot = document.getElementById('sot').value;
- var serverPage = "index.php?mod=zhurnal&prd=1&sem="+sem+"&sot="+sot;
- makeQuery(serverPage, 'kuda_div');

- }

---

Source: [https://yvision.kz/post/javascript-i-jquery-zametki-272726](https://yvision.kz/post/javascript-i-jquery-zametki-272726)