Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите плизз как можно упростить код (https://javascript.ru/forum/misc/8596-podskazhite-plizz-kak-mozhno-uprostit-kod.html)

frolvict 04.04.2010 14:52

Вот теперь вроде бы понял ;)
Спасибо за помощь!

subzey 05.04.2010 13:00

По-идее, как-то так…
var dataArray = [];
$("[id^=#select]").each(function(){ // для каждого элемента, чей id начинается с "select"
	var match = /^select(\d+)0$/.test(this.id); // соответствует маске?
	if (!match) return true; // нет — игнорируем
	dataArray.push("save" + match[1] + "=" + $(this).val()); // используя выдранное значение, добавляем значение в массив
})

$.ajax({ 
	url:"save.php", 
	data: dataArray.join("&"), // соединяем куски массива так, что их разделяет "&"
	success: function(save){ 
		$(".save01").append(save); 
}


Должно работать, если я не опечатался, для всех элементов с id = "select{любое положительное количество цифр}0"

frolvict 05.04.2010 13:05

Вот это вообще суперское решение!!!
Большое человеческое СПАСИБИЩЕ!!! ))

пойду пробовать реализовывать это в жизнь ;)

frolvict 07.04.2010 13:55

Не могли бы вы плизз пояснить что тут происходит

03	    var match = /^select(\d+)0$/.test(this.id); // соответствует маске?
04	    if (!match) return true; // нет — игнорируем


Не совсем понял как маска тут формируется
/^select(\d+)0$/.test(this.id);
И для чего потом проверку запускать?

neurostep 07.04.2010 15:59

$("[id^=#select]")


массив всех элементов у которых id начинается с select

var  match = /^select(\d+)0$/.test(this.id);


Проверка, подходит ли id под "маску". "маска" = регулярное выражение. Говорит в данном случае о том, что строка должна начинаться с select, за тем следовать одно или более чисел от 0 до 9 (\d+), затем следует 0. $ - конец строки.
Проверка собственно нужна затем, чтобы отсеить ненужные элементы.

B~Vladi 07.04.2010 17:14

Может заюзать старый добрый POST?:-?

А пых пусь сам отсеит лишнее...

frolvict 07.04.2010 18:23

Всем большое спасибо за ответы!!!

А как потом используя этот вариант получить в пхп все данне передаваемые?

var dataArray = [];
$("[id^=#select]").each(function(){ // для каждого элемента, чей id начинается с "select"
    var match = /^select(\d+)0$/.test(this.id); // соответствует маске?
    if (!match) return true; // нет — игнорируем
    dataArray.push("save" + match[1] + "=" + $(this).val()); // используя выдранное значение, добавляем значение в массив
})
 
$.ajax({
    url:"save.php",
    data: dataArray.join("&"), // соединяем куски массива так, что их разделяет "&"
    success: function(save){
        $(".save01").append(save);
}

frolvict 08.04.2010 13:32

Что никто не подскажет? Или уже пхп вопросы не касаются этого форума?

B~Vladi 08.04.2010 14:14

Разделом ошибся.

frolvict 08.04.2010 14:23

Не захотелось новую ветку создавать ради этого вопроса, подумал что может быть тут ответят. Ладно создам новую


Часовой пояс GMT +3, время: 22:04.